网站首页 > 文章中心 > 其它

linux显示命令找不到

作者:小编 更新时间:2023-08-08 12:05:24 浏览量:446人看过

51单片机串口通信c语言编程

#define uchar unsigned char

#define uint unsigned int

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)

TH1 = 0xFD;

TR1 = 1;

EA = 1;

ES = 1;

void delay(int cnt)

//主程序

int main (void)

int i;

sinti(); //串口初始化程序

ring=1;

while(1)

while (1)

if(CASE1==0)

send('a');

ring=0;

break;

send('b');

send('c');

send('d');

if(ring==0)

for(i=0;i10000;i++);

//串口中断程序

if(RI) //判断是接收中断产生

RI=0; //标志位清零

temp=SBUF;

if(TI) //如果是发送标志位,清零

TI=0;

谁有上位机与下位机的串口通讯代码(C语言的)

兄弟,下面是我自己写的,希望给你帮助,把数据用send_one_uart()这个函数直接发送到串口就行了!最后求采纳,哈哈!

//-----头文件

//-----定义全局变量

unsigned

char

temp;

/***************************************************

**

函数名称:

uart_init

功能描述:

串口初始化函数

入:无

出:

明:

****************************************************/

void

uart_init(void)

scon

=

//-----scon:

模式

uart,

使能接收

tmod

|=

//-----tmod:

timer

mode

重装

th1

0xfd;

//-----th1:

重装值

波特率

晶振

tr1

//-----tr1:

打开

es

//-----打开串口中断

ea

//-----打开总中断

sendbyte

发送字节函数

sendbyte(unsigned

dat)

sbuf

dat;

while(!ti);

ti

0;

sendstr

发送字符串函数

sendstr(unsigned

*s)

while(*s!='\0')

sendbyte(*s);

s++;

main

主函数

(void)

uart_init();

//-----串口初始化

if(temp=='h''i')

temp=0;

sendstr("hello");

uart_ser

串口中断服务子函数

interrupt

//-----串行中断服务程序

if(ri)

//-----判断是接收中断产生

ri=0;

//-----标志位清零

temp=sbuf;

//-----读入缓冲区的值

两片单片机通过串口一发一收的C语言例程

/*?甲机串口程序:甲机向乙机发送控制命令字符,甲机同时接收乙机发送的数字,并显示在数码管上.*/

sbit LED1=P1^0;

uchar Operation_No=0;? //操作代码

//数码管代码

//延时

void DelayMS(uint ms)

uchari;

//向串口发送字符

void Putc_to_SerialPort(uchar c)

SBUF=c;

while(TI==0);

void main()

P0=0x00;

PCON=0x00;?? //波特率不倍增

TH1=0xfd;

TL1=0xfd;

TI=RI=0;

TR1=1;

DelayMS(100);

while(K1==0);

switch(Operation_No)? //根据操作代码发送A/B/C或停止发送

case0:? Putc_to_SerialPort('X');

case1:? Putc_to_SerialPort('A');

//甲机串口接收中断函数

if(RI)

elseP0=0x00;

/*?乙机程序接收甲机发送字符并完成相应动作:乙机接收到甲机发送的信号后,根据相应信号控制LED完成不同闪烁动作.*/

uchar NumX=-1;

RI=TI=0;

NumX=++NumX;? //产生0~10范围内的数字,其中10表示关闭

SBUF=NumX;

if(RI)?? //如收到则LED则动作

switch(SBUF)//根据所收到的不同命令字符完成不同动作

c语言怎么实现串口通信

编程原理

程序1为查询通信方式接口程序,为一典型的数据采集例程.其中bioscom()函数初始化COM1(此函数实际调用BIOS

INT

单片机串口232通信c语言

我写的串口通信代码比较长,给几个关键函数你吧,可实现PC与单片机的双工通信

#includecommon.h

void do_uart(void); //串口接收执字符时的操作

/*串口发送字符串 */

void sendstr(uchar *p)

while(*p!='\0')

{ SBUF=*p; //待发送的数据写入缓冲区

while(!TI); //等待发送完成

TI=0; //清零发送标志位

p++; //指针加1

cnt_s++; //发送计数

/*串口接收中断函数*/

if(RI) //查询接收标志位(有数据发送过来时置为1)

RI = 0; //接收标志位清零

// sendchar(SBUF);//让从电脑上传到单片机的数据,传回的电脑显示

do_uart();//对接受到得字符操作

/*串口初始化*/

void com_init(uint baud)

TL1=TH1;

ES = 1; //开串口中断

TR1 = 1; //允许定时器1工作

EA = 1; //开总中断

void sendchar(uchar uart_dat) //串口发送字符函数

SBUF = uart_dat; //待发送的数据写入缓冲区

while(!TI); //等待发送完成

TI = 0; //清零发送标志位

以上就是土嘎嘎小编为大家整理的linux显示命令找不到相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章