CortexM0开发 —— LPC11C14的UART使用方法
LPC1100系列微控制器UART ?LPC1100系列Cortex-M0微控制器具有一個符合16C550工業標準的異步串行口(UART)。此口同時增加了調制解調器(Modem)接口,DSR、DCD和RI Modem信號是只用于LQFP48和PLCC44封裝的管腳配置。?
?特性 ?
??16字節收發FIFO;?
??寄存器位置符合16C550工業標準; ?
??接收器FIFO觸發點可為1、4、8和14字節;?
??內置波特率發生器; ?
? ?用于精確控制波特率的小數分頻器,并擁有賴以實現軟件流控制的自動波特率檢測能力和機制; ?
? 支持軟件或硬件流控制執行; ?
? 包含標準Modem接口信號(CTS、DCD、DTS、DTR、RI、RTS);?
? 支持RS-458/EIA-485的9位模式和輸出使能。
【實驗步驟】:
先看一下板子上UART的原理圖
PL-2303HX是一款UART-USB芯片,這里先不管其原理,我們只學習如何將數據從CPU發送到這個TXD RXD處。
 
 
一、LPC11C14 UART 寄存器描述
 
 
 
 
這里只貼出部分
 
 
 
 
具體寄存器分析,這里不再闡述,先看一下在頭文件中我們這樣定義
[cpp]?view plaincopy
相關宏定義(部分)
[cpp]?view plaincopy
二、UART的初始化
[cpp]?view plaincopy
 
 
 
 
1、對IO口進行設置
以PIO1_7寄存器為例
可以看到低3位用于配置管腳功能 001為TXD,PIO1_6配置也相同
[cpp]?view plaincopy
2、時鐘設置
[cpp]?view plaincopy
3、設置波特率、數據位
[cpp]?view plaincopy
4、UART相應配置
[cpp]?view plaincopy
 
 
5、使能中斷等操作
[cpp]?view plaincopy
 
 
 
 
三、發送數據
[cpp]?view plaincopy
 
 
 
 
四、接收數據
? ? ? ?這里利用中斷
[cpp]?view plaincopy
下面學習一下UART中斷
 
 
對于UART接口來說,有兩種情況可以觸發UART接收中斷:接收字節數達到接收FIFO的觸發點(RDA)、接收超時(CTI)。
(1) 接收字節數達到接收FIFO中的觸發點(RDA)
???? LPC1100系列Cortex-M0微控制器UART接口具有16字節的接收FIFO,接收觸發點可以設置為1、4、8、14字節,當接收到的字節數達到接收觸發點時,便會觸發中斷。
 ???? 通過UART FIFO控制寄存器U0FCR,將接收觸發點設置為“8字節觸發”。那么當UART接收8個字節時,便會觸發RDA中斷(注:在接收中斷使能的前提下)。
 
 
 
下面看一下IIR
 
 
 
 
五、其他操作補充
[cpp]?view plaincopy
總結
以上是生活随笔為你收集整理的CortexM0开发 —— LPC11C14的UART使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: color ui的使用
 - 下一篇: 数据分析框架