单片机/MCU论坛
直播中

飞毛腿452

8年用户 900经验值
擅长:电源/新能源
私信 关注
[问答]

NuTiny-SDK-M0518开发板UART0发不出去是怎么回事?

最近在天猫的新唐旗舰店买了两片 Nutiny-SDK-M0518开发板, 收到货后就就先跑 BSP 里的范例,
在 Keil 里下载执行后, 发现才刚单步执行就一直卡在printf("nnCPU @ %d Hzn", SystemCoreClock);
, 把程式停下来一看是卡在void SendChar_ToUART(int ch)里的while(DEBUG_PORT->FSR   UART_FSR_TX_FULL_Msk);
此时再查看下 UART0 FIFO真的是满了, 怎么会这样呢? 范例程式我可是一行都没改, 而且每个范例都是这种情况!

耗了半天找不到原因, 就开了NuMicro ICP Programming Tool 把整颗 IC 擦除, 然后再试跑范例就没问题了,
printf 就可以从串口打印出来了! 买了两片都是这个情况!!!!谁来告诉我怎么回事? 谢谢!

回帖(2)

h1654155275.5714

2024-1-16 10:07:17
你的系统,还有你的KEIL 平台的,360 杀毒软件会影响调试,盗版的系统也是祸首之一。
举报

陈博

2024-1-16 11:01:03
可能存在以下几个原因导致UART0无法发送数据:

1. 串口参数配置错误:请确保UART0的参数配置正确,包括波特率、数据位、停止位和校验位等。

2. 发送缓冲区满:检查发送缓冲区是否已满,如果满了则不能继续发送数据,需要等待发送缓冲区空出位置后再发送。

3. 中断设置错误:如果使用了中断发送方式,需要确保中断设置正确,包括使能发送中断和设置中断优先级等。

4. 软件错误:在发送数据之前,需要确保UART0模块已经初始化完成,并且发送端口的引脚配置正确。

5. 帧错误:如果接收端的配置和发送端不一致,可能导致帧错误,从而无法发送数据。请确保接收端配置正确。

另外,您可以尝试使用NuMicro ICP Programming Tool对板载芯片进行擦除,以确保芯片状态正确。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分