完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
1,新手菜鸟一个
2,在项目中需要用到3个串口,芯片用的是STM32f103rbt6,有3个串口,而finsh占用了一个串口,如果在rtconfig.h中把/* #define RT_USING_FINSH */给屏蔽掉的话,三个串口我就都能用了吧? 3,在中断服务程序 void USART1_IRQHandler(void) { #ifdef RT_USING_UART1 extern struct rt_device uart1_device; extern void rt_hw_serial_isr(struct rt_device *device); /* enter interrupt */ rt_interrupt_enter(); rt_hw_serial_isr(&uart1_device);//这个函数应该如何使用? /* leave interrupt */ rt_interrupt_leave(); #endif } 通过中断接收数据,接收到的数据是怎样获得呢?通过rt_serial_read这个函数吗? 4,新手的问题比较低级,请帮忙 |
|
相关推荐
8个回答
|
|
|
|
|
|
|
|
|
我使用3个串口,串口1使用中断接收数据,串口2和串口3发送数据。我看了serial.c,现在系统是中断接收,DMA发送,对我来说很合适。我就是不太明白如何使用write 和read两个函数。看开发手册挺长时间,没找到说明。是参考finsh shell的代码吗?
|
|
|
|
|
|
write 和read这两个函数
write是写串口如果你是用DMA发送的话。他应该是直接把数据写进DMA的内存块里面。如果是用POLL发送的话会一直发送直到数据发送完为此。 read是在串口的缓冲区里面读指定的内容。这个函数只是读出数据跟中断接收与DMA接收是没有关系的因为数据接收和保存不是在这个函数实现的 |
|
|
|
|
|
恩,我最近也一直在看这块的代码,用read函数,如何判断你需要接收的数据已经接收完了?请指点
|
|
|
|
|
|
貌似只能软件用协议解决……
|
|
|
|
|
|
在中断服务程序里边处理。那样的话,read函数好像就没什么意义了。
|
|
|
|
|
|
read返回0即没有数据了
|
|
|
|
|
|
read和write里面的dev写什么?
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
999 浏览 0 评论
2781 浏览 0 评论
图腾柱PFC无法上升至400V,且电感电流为正弦波形,但是幅值极小
9368 浏览 0 评论
飞凌嵌入式ElfBoard-Vim编辑器之静态链接和动态链接
2895 浏览 0 评论
使用 LinkBoy 将程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板
2300 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 16:56 , Processed in 1.409437 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
561