微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > l基于labview 单片机串口通信下位机程序编写

l基于labview 单片机串口通信下位机程序编写

时间:10-02 整理:3721RD 点击:

基于labview 单片机串口通信下位机程序如何编写?用C语言写。

怎么没人啊?

可以是C,也可以汇编语言。是51单片机吗?

同求

可以自己 制定个 简单的 协议  ,使用一些约定的  数据格式  作为命令
我是 这样做的

我也想知道~~

我也想知道~~

真是好人。好人一生平安

先初始化 后面的例程网上有

真的是太好了,真的是太好了,
真的是太好了,

看看! 希望能学习到东西

多谢分享!收藏了

谁有这方面的资料啊 例子啥的  高价求教

小编可以看下单片机的知识,用51很容易实现的

//串口通讯与LabVIEW联调
#include                            
#define uchar unsigned char
#define uint unsigned int
sbit ring=P3^7;
sbit CASE1=P1^0;
sbit CASE2=P1^1;
sbit CASE3=P1^2;
sbit CASE4=P1^3;
uchar se=0,re=0;  
uchar temp=0;
void wait(uint cnt)
{
        while(--cnt);
}
//串口发送程序
void send(uchar se)
{
SBUF=se;           //发送数据
while(TI==0);
TI=0;       
}
//串口接收程序
uchar receive(void)
{
re=SBUF;           //接收数据
while(RI==0);
RI=0;
return re;       
}
//串口初始化
void  sinti(void)
{
        SCON=0x50;                        
    TMOD=0x20;               
    TH1=0xfd;              
    TR1=1;                  
    EA=1;                 
    ES=1;               
}
void delay(int cnt)
{
        while(--cnt);
}        
//主程序
int main (void)
{
        int i;
        sinti();        //串口初始化程序
        ring=1;
        while(1)
        {
                while (1)                  
                    {
                                if(CASE1==0)
                                {
                                        send('a');
                                        ring=0;
                                        break;
                                }
                                if(CASE2==0)
                                {
                                        send('b');
                                        ring=0;
                                        break;
                                }
                            if(CASE3==0)
                                {
                                        send('c');
                                        ring=0;
                                        break;
                                }
                                if(CASE4==0)
                                {
                                        send('d');
                                        ring=0;
                                        break;
                                }       
                        }
                if(ring==0)
                {
                         wait(60000);
                        ring=1;
                }
                for(i=0;i<10000;i++);
        }
}
//串口中断程序
void UART_SER (void) interrupt 4 //串行中断服务程序
{
   if(RI)                        //判断是接收中断产生
   {
          RI=0;                      //标志位清零
          temp=SBUF;
        }
   if(TI)                        //如果是发送标志位,清零
     TI=0;
}

以上最简单的通讯程序,需另加功能,自己编写相关的子程序即可

谢谢了,虽然是两年前的问题,早就会了,但还是谢谢你的回复。

东西不错 谢谢了小编

基于labview 单片机串口通信下位机程序如何编写?用C语言写。

多谢分享!多谢分享!多谢分享!

拿去用下,谢分享

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top