完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
串口通信原理
串口通信 通过单一数据线进行数据传输的通信方式,另外还有并行通信的方式。串口通信一次只能发送一个字符,包括起始位、数据位、校验位和停止位。 单工、半双工、全双工、异步、同步
UART和USART
CubeMX的操作 USART的设置
Keil5的操作 阻塞式发送数据
自己重新编写的fputc函数示例(发送到USART1) /** * @brief 对Printf进行重定向的函数,发送到USART1,不带中断 * @param ch是printf函数需要发送的一个字符;file是目标文件,这里没有使用这个参数 * @retval 未知 */ int fputc(int ch, FILE * file) { HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,50); return 0; } 阻塞式接收数据
使用DMA进行通信 原理:DMA是一个寄存器,完成搬运数据的任务。在完成任务后会通知CPU完成,如果有设置中断就进入相应的中断,期间CPU不被占用。
DMA不定长接收 原理:就是说,未知数据长度大小,当不发送数据一定时间的时候就认为数据已经结束了。串口闲置中断就是,当接收了数据之后,串口闲置了一个字节的长度之后就会触发串口闲置中断。 |
|
|
|
只有小组成员才能发言,加入小组>>
3311 浏览 9 评论
2994 浏览 16 评论
3493 浏览 1 评论
9058 浏览 16 评论
4087 浏览 18 评论
1176浏览 3评论
604浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
598浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2334浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1895浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 21:26 , Processed in 1.156078 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号