【Start_DSC28034PNT湖人开发板免费体验】+485通讯测试
- 硬件资源介绍
本来这一期想测试一下编码器功能的,结果让例程给整蒙了。
于是先放一放,消化以下。调试下485接口,485在工控中很常见,几乎带通讯接口的设备都会预留485接口
485介绍:
RS485 仅仅规定了接受端和发送端的电气特性。它没有规定或推荐任何数据协议。RS485 的特点包括:
(1) 接口电平低,不易损坏芯片。RS485 的电气特性:逻辑“1”以两线间的电压差为+(2~ 6)V表示;逻辑“0”以两线间的电压差为-(2~6)V 表示。接口信号电平比 RS232 降低了,不易损坏接口电路的芯片,且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。
(2) 传输速率高。10 米时,RS485 的数据最高传输速率可达 35Mbps,在 1200m 时,传输速度可达 100Kbps。
(3) 抗干扰能力强。RS485 接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。
(4) 传输距离远,支持节点多。RS485 总线最长可以传输 1200m 以上(速率≤100Kbps)一般最大支持 32 个节点,如果使用特制的 485 芯片,可以达到 128 个或者 256 个节点,最大的可以支持到 400 个节点。
RS485 推荐使用在点对点网络中,线型,总线型,不能是星型,环型网络。理想情况下 RS485需要 2 个匹配电阻,其阻值要求等于传输电缆的特性阻抗(一般为 120Ω)。没有特性阻抗的话,当所有的设备都静止或者没有能量的时候就会产生噪声,而且线移需要双端的电压差。没有终接电阻的话,会使得较快速的发送端产生多个数据信号的边缘,导致数据传输出错。
硬件连接,由于板子接口丰富,很多IO公用,所以调试时先将跳线帽接好,保证线路通畅:
这里呢,表格内使能RS485,只需要短接1-2就可以,这样485转TTL的RX就接通了。TX是MCU直连MAX485ED。
我用的是USB转485模块,接入笔记本,通过串口助手进行调试。
接下来根据官方例程进行调试HX_DSC28034_SCI_Interrupt_RS485,将工程导入IDE中。
主要看main函数中内容。
- 代码介绍
Main中还是常规的系统时钟,内存,GPIO,IRQ等初始化。
485接口配置为9600,8,N,1
初始化完毕后,打印例程调试信息,然后将485设置为接收模式,等待中断接收。
那么接下来我们看下串口中断程序
此处我进行了修改,原例程是上位机发送1个字符,下位机返回一个字符。发送的多了要么不回,要么回第一个。我就改成了接收多个直到判断\n就表示接收完成,然后再返回。包头没有加,先调试通接口,然后再对协议和校验等进行优化。
- 例程下载
还是重复说一下,要是下载过程中报错,提示下载不进去。那么按sw102进行复位。然后再下载,一次不行重复多次,工程再编译以下。
485调试很顺利,也经常用到。接下来主要针对上位机和下位机交互来进展。