历史上的今天
今天是:2024年10月16日(星期三)
2019年10月16日 | ATmage16A UART实验往PC收发数据
2019-10-16 来源:eefocus
* 【编译环境】: ICCAVR
* 【函数功能】: 用软件查询方式实现用串口调试软件发数据给avr,而avr则将数据回传给pc.
* 【晶 振】: 8M
* 【芯 片】: ATMEGA16A
*******************************************************/
#include #include /***********宏定义*************/ #define uchar unsigned char #define uint unsigned int #define fosc 8000000 #define baud 9600 /******************************************* 函数名称: IO口初始化函数 功 能: 实现IO初始化 参 数: 无 返 回 值: 无 /********************************************/ void port_init(void) { DDRD = 0x02; PORTD = 0xFF; } /*********************************************************************** 函数名称: 串口初始化函数 功 能: 实现串口初始化 参 数: 无 返 回 值: 无 /*********************************************************************/ void USART_Init(void) { UCSRB=(1< UBRRH=(fosc/16/(baud+1))/256; UCSRC=(1< /******************************************* 函数名称: 串口发送一个字节函数 功 能: 实现串口发送一个字节 参 数: data--串口要发送的一个字节 返 回 值: 无 /********************************************/ void USART_Transmit(uchar data) //发送采用查询方式 { while(!(UCSRA&(1< } /******************************************* 函数名称: 串口发送数组函数 功 能: 实现串口发送一个数组 参 数: *ptr--串口要发送的数组的首地址 返 回 值: 无 /********************************************/ void USART_Transmit_string(uchar *ptr) { while (*ptr) { USART_Transmit(*ptr++); } USART_Transmit(0x0D); USART_Transmit(0x0A); //结尾发送回车换行 } /*数据接收,查询方式*/ /******************************************* 函数名称: 串口接收一个字节函数 功 能: 实现串口接收一个字节 参 数: 无 返 回 值: 无 /********************************************/ uchar USART_Receive(void) //接收采用查询方式 { while(!(UCSRA&(1< } /******************************************** 函数名称: 主函数 功 能: 实现函数主体功能。 参 数: 无 返 回 值: 无 ********************************************/ void main(void) { uchar temp; USART_Init(); while(1) { temp=USART_Receive(); //等待接收数据 PORTB = ~temp; //显示低电平有效 USART_Transmit(temp); //发送收到的数据 } }
史海拾趣
|
在建立控制系统时, 系统集成商毫无例外地总是希望能使用比较少的设备来实现更多的功能。他们需要控制系统不仅能处理数字I/O和运动,而且还可以集成用于自动化监控和测试的视觉功能和模块化仪器。此外,控制系统还必须能实时地处理控制算法和分析任 ...… 查看全部问答> |
|
分享下:https://home.eeworld.com.cn/my/space.php?uid=127036&do=blog&id=28113 相信已工作的大哥大姐们对自己缴纳的社会保险都是非常关注的吧...认真看吧 “耐心看吧” .. 绝对有用 首先,大家应该意识到社会保险 ...… 查看全部问答> |
|
题目说的不明白,正文说: 那天我的卡给ATM吞了,只得去银行取。 进去后,发现要拿票排队的。 但是我发现当前服务的号码是156,而我却是245,我又看了看,可银行里总共就20人左右。 很明显,有上百号人拿了票走了。 这时我发 ...… 查看全部问答> |
|
Table of Contents 1. 串口通信 ....................................................41.1 串口的常识 ..............................................41.2 串口通信原理 ............. ...… 查看全部问答> |
|
一个51单片机的程序,对外部AD寄存器读写 void AD_Write_Reg( char tx_buff) { U0DBUF=tx_buff; // Write byte to USART0 buffer (transmit data) ...… 查看全部问答> |
|
ptcb->OSTCBNext = OSTCBList; ptcb->OSTCBPrev = (OS_TCB*)0; if(OSTCBList != (OS_TCB*)0) ptcb->OSTCBPrev = ptcb; OSTCBList = ptcb; 谁能解释下最后为什么ptcb赋给OSTCBList? &nbs ...… 查看全部问答> |




