又有好久没有更新博客了,不要认为我又去偷懒了,因为笔者开学了,但是我的新唐的学习并没有结束。这么长时间没有写博客因为我在学习的过程中又遇到了纠结的问题,这个问题从9月1日到现在快三个星期了,就是RS485通讯,特此写下自己的错误,避免看到文章的人再走弯路。
如果大家用的新唐的板子的话,而又要用485通讯功能,一定会去参考自带的UART_DEMO示例程序。新唐的实例程序分为两种类型,一种就是寄存器版本的,一种叫做API版本的。如果用API写程序的同仁们,一定会非常欣慰,因为这个示例程序就是485的,只要改改就行了,而用寄存器版本写程序的一定非常苦恼(笔者就是一直用寄存器版本的写程序),因为它就是一个普通的UART通讯功能,很多人会想着看看API的版本的,慢慢翻译成寄存器版本的,但是两者有些区别,经过这两天的深入,我已经把API版本改成了寄存器版本,改的是面目全非,因为我的初始化代码几乎和API的版本的一样,但是它能运行出结果,而我不行,这如何不叫人纠结呢?
在新唐的两个版本中,有这样两个区别,大家需要注意的:
1.API版本中,用的UART时钟是内部的22MHZ的晶振,大家一定看到了算晶振的波特率的函数,所以没有深入看,只知道可以得出自己想要的晶振就可以了(一般用9600的波特率),而寄存器版本中用的还是外部的12MHZ晶振
2.第二个不同的地方也是我纠结了3个星期终于发现了,也是我的问题所在的,就是API版本中,配置了管脚为RTS0功能,而寄存器版本中没有,所以即使后面初始化和API非常相似,也出不来结果,这是一个很重要的原因!(RTS0功能就是自动方向控制,是485中用来控制收发的)
解决了这两个问题,485通讯来说,基本就可以平坦大道了,但是这样说也许很空虚,下面附上485的电路图和485初始化的寄存器版本的代码,希望对大家有帮助,只是新唐Cortex-M0的代码,如果不是这个芯片的可以看看步骤,应该也没有什么太大问题。
如下图就是RS85通讯的电路图:
下面是代码部分:
分享到:
相关推荐
The Definitive Guide to the ARM® Cortex®-M0 and Cortex-M0+ Processors, Second Edition explains the architectures underneath ARM’s Cortex-M0 and Cortex-M0+ processors and their programming ...
ARM公司官方的Cortex-M0的芯片设计代码
参考资料以 ARM Cortex-M0 用户指南(ARM Cortex-M0 User Guide)为蓝本。 只针对 LPC111x Cortex-M0 的具体实现做了细微的改动。
cortex-M0最新价格革命,创造最低价格的ARM,性价比最高的ARM
ARM Cortex-M0权威指南-中文带目录,ARM公司的Cortex-M0应用于各种微控制器(MCU)中,并可让研发工程师以8位的价位创造32位的的效能,并将传统的8位和16位的处理器升级到更高效、更低功耗的32位处理器。
本文件包含《DDI0484C_cortex_m0p_r0p1_trm》《DUI0662B_cortex_m0p_r0p1_dgug》《Cortex-M0+_Software_Developers_Errata_Notice_v4》用户手册、调试手册、开发手册
arm cortex M0 的uart rs485 接口的例程,包括tx rx都有
ARM Cortex-M0原理与应用实践,以新唐M052LAN作为蓝本,通俗易懂。
将 ARM Cortex-M0 软微控制器实现到 KC705 中。该项目实现了一个包含以下组件的设计: Cortex-M0 混淆内核:ARM DesignStart 网站提供的内核 RAM 存储器:接受初始化文件的 RAM 存储器的实现 AHB3-lite 互连:负责...
本书既有ARMCortex-M0处理器内核、体系结构及其应用的详尽论述,也有指令集、编译器、软件开发的基本论述,甚至也涵盖如何定位程序代码中的错误和软件移植等方面的知识。
这是cortex-M0例程,里面很详细,有ARM的各个模块的用法与源程序。非常适用于ARM的初学者
本资料是对新唐的mcu,单片机及ARM做系统的概述
列出ARM CORTEX-M0可能的汇编指令组合,指令的长度,指令周期数和影响的状态字。
本文阐述了ARM Cortex-M3,Cortex-M0,Cortex-A8的主要区别
Cortex学习\M0\深入浅出Cortex-M0.rar
Arm Cortex-M0权威指南英文原版,适合从事嵌入式开发人员
系统控制模块 Cortex-M0_LPC1100_chapter2_clock 时钟系统 Cortex-M0_LPC1100_chapter2_kongzhimokuai 功率控制 Cortex-M0_LPC1100_chapter2_gonglvkongzhi 存储器寻址 Cortex-M0_LPC1100_chapter2_cunchuqi ...
很实用的资源,本人从51转ARM参考的这个资料,很系统