完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
本帖最后由 一只耳朵怪 于 2018-5-22 16:18 编辑
大家好,在调SCI正常接收发送时,没有使能中断,按照下面2种代码,都无法接收到串口发的数据,单步调试好像一直等待在sciReceiveByte的while等待,请问哪里有问题或者没有考虑到?谢谢uint8_t text[5]=[0];/* USER CODE END */void main(void)[/* USER CODE BEGIN (3) */ sciInit(); for(;;) [ sciReceive(scilinREG,5,text); sciSend(scilinREG, 5, text); ]/* USER CODE END */]uint8_t text[5]=[0];/* USER CODE END */void main(void)[/* USER CODE BEGIN (3) */ sciInit(); for(;;) [ sciReceiveByte(scilinREG); if(scilinREG->RD) sciSend(scilinREG, 5, text); ]/* USER CODE END */] |
|
相关推荐
1 条评论
3个回答
|
|
|
你先单纯的调用发送函数,串口的另外一端能收的到数据吗?这样可以确定关于UART的参数设置都没问题。
然后在主程序里面,单纯的调用接收函数试试,同时可以设置断电,然后产看系统寄存器,特别是接收的缓存寄存器,看看里面有没有数据。 谢谢 BR, KEN |
|
|
|
|
lining870815844 发表于 2018-5-22 08:33 Ken, 单纯的发送是可以的。至于你说单纯的接收,我现在刚接触不知道如何操作观察寄存器的值。就我的两个程序而言,有没有问题呢?我用串口调试助手给单片机发一个指令后,SCIFLR中RXRDY是不是就自动置1了呢1 Read: New data is ready to be read from SCIRD 谢谢! |
|
|
|
|
uwyywjdwe 发表于 2018-5-22 08:47 ray, 如果你的UART端口信息设置正确的话,当串口助手发送一个字节的数据给单片机时,单片机的接收缓存里面会有数据,同时会置位接收ready的状态标志位,这个时候,你就可以通过查询这个标志位来将接收缓存的数据拷贝到你的RAM数组里面来。 在CCS里面观察寄存器的方式时,你先设置断点,当程序运行到断点是,可以点击菜单来里面的view-》register来找到每个外设的寄存器值。 谢谢 BR, KEN |
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1757浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:44 , Processed in 0.494046 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3187