STM32之USART-RS485

本文记录了一次解决HDMI8X8背板与板卡间通信故障的过程,通过排查硬件连接和软件代码,最终定位到库函数USART_SendData的问题,并分享了解决思路。

转载自:http://www.cnblogs.com/itloverhpu/p/3278014.html

1.今天调试HDMI8X8背板和板卡的通信,一直有问题:背板可以和PC正常通信,背板可以发命令给板卡,板卡也能正常接收到指令并返回背板,

  但背板一直无法接收到板卡返回的指令,无法进入USART1中断;

2.请教了同事,示波器一量,发现背板的485芯片控制端一直处于发送状态(H),再看板子,有个电阻:R52 没上;

  

3.把电阻补上,还是不行;甚至板卡都不能正常接收到背板发来的指令了;还好,这时候,有个同事说库函数:USART_SendData有问题;

  是啊,上次写板卡的程序时还遇到了这个问题并解决了;现在竟然没想起来

  

    

void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
{
/* Check the parameters */
assert_param(IS_USART_ALL_PERIPH(USARTx));
assert_param(IS_USART_DATA(Data)); 

/* Transmit Data */
USARTx->DR = (Data & (uint16_t)0x01FF);

while((USARTx->SR&0x40)==0);////////// 自己加的
}

总结:自己花了好久时间,还搞不定的问题,最好请教一下同事;他们可能不能马上找到问题,但他们会给出自己的建议,揣测;同时也激发自己的知识储备,

        激活自己的思维;所谓集思广益,解决问题的效率会大大提高!

        本来就没有高科技,多请教多讨论是提高自己的根本!

转载于:https://www.cnblogs.com/wupengda/p/4089932.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值