完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
不用等待,这个函数是给你设置了发送的指针与发送字节数并启动发送的硬件模块,硬件模块会自动发送,每次发送完会产生发送中断,当全部要求的字数节发送完成后,会产生发送完成中断,这时你可以在callback函数中进行一些逻辑处理。
|
|
|
|
wu58518 发表于 2018-7-23 04:00 但我需要等待发送完成再执行下面的代码,要不然会导致数据丢失,而且我似乎没有进入发送完成中断 发送代码 R_SCI1_Serial_Send(a,1); while(end != 1); end = 0; static void r_sci1_callback_transmitend(void) { /* Start user code. Do not edit comment generated here */ end = 1; /* End user code. Do not edit comment generated here */ } |
|
|
|
Fengliping 发表于 2018-7-23 04:20 怎么会导致数据丢失呢?你先测试一下数据能否发出去。 |
|
|
|
数据会发的出去,但如果不等待的话,我代码中可能还没等它发完又发了,导致缓冲区溢出,数据量比较大。所以我一定要等它发完再发下一个 |
|
|
|
明白你的意思了,就是要连续发吧。那你可以在callback函数启动下一次发送呀,这不就连续起来了吗?等待的方法感觉不是特别好,哈哈。 |
|
|
|
但现在问题时,发现不能进入完成发送的中断函数 R_SCI1_Serial_Send(a,1); while(end != 1); end = 0; static void r_sci1_callback_transmitend(void) { /* Start user code. Do not edit comment generated here */ end = 1; /* End user code. Do not edit comment generated here */ } 执行时,程序卡死在while(end != 1); |
|
|
|
先确认有没有波形发出,也就是串口有没有正常启动。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
串口不发送数据,基本上两个问题点遇到的最多,1.没进入到硬件仿真。2.没调用start函数。 |
|
|
|
串口发送的数据不对是什么原因??求助!!1 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
请问一个迭代法图形二值化的程序代码把宽改成240之后整个屏幕不显示是什么原因?
2666 浏览 0 评论
2656 浏览 1 评论
1893 浏览 1 评论
2046 浏览 2 评论
2611 浏览 2 评论
718浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 03:21 , Processed in 0.957260 second(s), Total 101, Slave 85 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号