本應(yīng)用筆記介紹如何使用MAXQ2000微控制器評估(EV)板上的MAXQ串行驅(qū)動器庫開發(fā)應(yīng)用。MAXQ串行驅(qū)動器可用于MAXQ的IAR嵌入式工作臺和Rowley Associates的MAXQ交叉工作臺?,這是使用C語言和匯編語言的MAXQ應(yīng)用的兩個集成開發(fā)和調(diào)試環(huán)境。C語言示例代碼演示了MAXQ串行驅(qū)動器的使用和限制,以及如何使用MAXQ串行驅(qū)動器實現(xiàn)RTS/CTS流控制。
MAXQ串行驅(qū)動器概述
MAXQ串行驅(qū)動器提供了一組C函數(shù),使用戶能夠配置MAXQ UART進(jìn)行串行通信。這些功能列在MAXQ2000評估板的源文件maxq_serial.h中。
MAXQ串行驅(qū)動器具有以下特性。
偶數(shù)、奇數(shù)和無奇偶校驗。
獨立的發(fā)送和接收內(nèi)部緩沖區(qū)。這些緩沖區(qū)的大小是在編譯時定義的。
非阻塞serial_write和serial_read例程。
一個 serial_isr() 函數(shù),應(yīng)由用戶應(yīng)用程序作為中斷處理程序的一部分調(diào)用。它將奇偶校驗計算為“每個配置”,并在串行線路上發(fā)送/接收數(shù)據(jù)。
支持應(yīng)用程序級別的流控制。函數(shù) serial_stopTx() 停止串行數(shù)據(jù)的傳輸,serial_restartTx() 重新啟動串行傳輸。
MAXQ2000串行驅(qū)動器的源代碼可
在此處
獲得。通過修改一些配置參數(shù),可以將驅(qū)動程序移植到其它MAXQ器件,如下所示。
maxq_config.h 包含特定于編譯器的配置參數(shù)。修改文件中的以下行以適合您的設(shè)備和編譯器: 以上兩行指定驅(qū)動程序?qū)⑨槍AR和MAXQ2000進(jìn)行編譯。要編譯MAXQ的CrossWorks驅(qū)動程序,請按如下方式修改行:
// user configurable options here #define COMPILER_IAR #define DEVICE_MAXQ2000
// user configurable options here #define COMPILER_ROWLEY #define DEVICE_MAXQ2000
#define RX_RNG_SIZE 256 #define TX_RNG_SIZE 256
// specify which serial port you are using #define SERIAL_PORT0
#define XTAL_CLK 16000000 // 16,000,000Hz
硬件和軟件要求
為了運(yùn)行本應(yīng)用筆記中提供的應(yīng)用,需要MAXQ2000評估板、最小容量為5mA的+200V電源、帶兩個串行端口的PC(一個用于將應(yīng)用下載到評估板上,另一個用于MAXQ應(yīng)用與PC應(yīng)用之間的通信)、直通串行電纜、MAXQ開發(fā)工具集(IAR嵌入式工作臺或CrossWorks 1.0)。 以及 PC 上的 Java? 運(yùn)行時環(huán)境(包括 commApi 和 BlackBox 示例)。
硬件設(shè)置
MAXQ2000評估板應(yīng)設(shè)置為與RTS/CTS流控制進(jìn)行串行通信。跳線和 DIP 開關(guān)設(shè)置如下:
將開關(guān) SW3 1-8 設(shè)置為關(guān)閉位置。
將開關(guān) SW1 1、2、5 和 6 設(shè)置為關(guān)閉位置,將 SW3、4、7 和 8 設(shè)置為打開位置。
將開關(guān) SW6、3 和 8 設(shè)置為打開位置,并將靜止設(shè)置為關(guān)閉位置。
這些開關(guān)設(shè)置將MAXQ0評估板串行連接器的RTS、TXD0、RXD2000和CTS信號連接到微控制器,使SW4 DPST將微控制器的INT11信號拉至地。參見圖1。
JU1: connect Pins 1 and 2 JU2: connect Pins 1 and 2 JU3: connect Pins 1 and 2 JU4: open JU5: closed JU6: closed JU7: closed JU8: closed JU9: closed JU10: open JU11: closed (The MAXQ2000 EV kit is powered by a JTAG interface board which is powered by a +5V power supply.)
連接MAXQ2000評估板和PC串行端口之間的串行電纜。
圖1.MAXQ2000評估板的開關(guān)設(shè)置可實現(xiàn)與RTS/CTS流控的串行通信。
軟件設(shè)置
下載演示軟件。
安裝開發(fā)工具集(IAR嵌入式工作臺用于MAXQ,CrossWorks用于MAXQ)。
下載并安裝 Java 運(yùn)行時環(huán)境和 Java 通信 API。
在 Java 通信 API 發(fā)行版中運(yùn)行 BlackBox 示例。如果這工作正常,那么您應(yīng)該能夠看到您的主機(jī)串行端口。
MAXQ串行驅(qū)動器入門
要開始使用開發(fā)工具,請查看兩個應(yīng)用筆記中的任何一個。關(guān)于MAXQ的Rowley CrossWorks,參見應(yīng)用筆記3698:“Rowley CrossWorks和MAXQ2000評估板入門”,或者關(guān)于MAXQ的IAR嵌入式工作臺,參見應(yīng)用筆記3378:“IAR編譯器和MAXQ2000評估板入門”。
在您的 PC 上執(zhí)行 Java BlackBox 示例應(yīng)用程序,并將其配置為 115200 波特、8 個數(shù)據(jù)位、1 個停止位和無奇偶校驗。通過單擊所選串行端口的“Xmt”復(fù)選框來啟用 RTC/CTS 流控制。黑盒設(shè)置如圖 2 所示。請注意,RTS 和 CTS 行為綠色,表示硬件流控制已關(guān)閉。
從之前下載的演示軟件中,打開相應(yīng)的項目 (.IAR的EWW和CrossWorks的.hzp)。編譯應(yīng)用并下載到MAXQ評估板。有關(guān)將應(yīng)用程序下載到MAXQ的詳細(xì)說明,請參見上述應(yīng)用筆記。打開MAXQ評估板的電源,應(yīng)該可以看到MAXQ的串行輸出打印到BlackBox GUI上。在輸入窗口中輸入一些字符,并觀察黑盒輸出窗口中打印的字符相同。鍵控字符從PC傳輸?shù)組AXQ評估板,然后回顯到PC。MAXQ應(yīng)用程序報告接收的字節(jié)數(shù),該字節(jié)數(shù)應(yīng)與發(fā)送字節(jié)數(shù)的BlackBox報告相匹配。
向MAXQ評估板發(fā)出停止發(fā)送字符的信號
單擊黑盒 GUI 中的 RTS 文本。該事件向評估板發(fā)出停止發(fā)送字符的信號。請注意,黑盒中的打印停止。再次點擊RTS文本,使MAXQ能夠發(fā)送字符,并看到測試字符串繼續(xù)更新。
向 PC 發(fā)出停止發(fā)送字符的信號
按下MAXQ評估板上的SW4開關(guān)。這表示PC(黑盒應(yīng)用程序)停止發(fā)送字符。GUI 上的 CTS 文本應(yīng)從綠色變?yōu)楹谏?。在黑盒?yīng)用程序中輸入一些字符,并查看這些字符未回顯。再次按下 SW4 開關(guān),CTS 信號將變回綠色。之前鍵入的字符應(yīng)回顯。
圖2.要在電腦上運(yùn)行的黑盒示例應(yīng)用程序。
應(yīng)用概述
文件 sample_serial.c 包含應(yīng)用程序的主要例程和中斷服務(wù)例程 (ISR),用于處理串行中斷和外部中斷。固件執(zhí)行以下操作:
serial_init() 初始化串行驅(qū)動程序。
serial_setparameters() 為 115200/8/1/N 配置串行驅(qū)動程序。您可以根據(jù)應(yīng)用需求配置這些參數(shù)。
配置外部中斷 10(Int10 連接到 RTS 線路)和 11(SW6 #3 打開)。
啟用模塊 1(外部中斷)和模塊 2(UART)的中斷。
啟用全局中斷。
通過 serial_read() 和 serial_write() 循環(huán)從/寫入串行端口。
中斷服務(wù)例程處理 RTS/CTS 控制流。(按下SW4按鈕可置位或取消置位評估板的RTS線路;PC的RTS線路停止/重新啟動串行傳輸。
局限性和發(fā)展問題
MAXQ串行驅(qū)動器不支持流量控制(軟件/硬件)。應(yīng)用程序負(fù)責(zé)實現(xiàn)流控制。本應(yīng)用筆記中提供的示例應(yīng)用描述了硬件(RTS/CTS)流控制。
提供的MAXQ串行驅(qū)動器針對MAXQ2000和16MHz晶體配置進(jìn)行編譯。改變晶體頻率將改變驅(qū)動器的波特率計算。
MAXQ串行驅(qū)動器內(nèi)部發(fā)送和接收緩沖器的大小在編譯時固定為256字節(jié)。
結(jié)論
IAR和Rowley Associates提供的MAXQ編譯器以及Maxim提供的庫允許用C語言編寫的應(yīng)用訪問MAXQ器件的電源和功能。MAXQ系列將使用戶能夠部署使用MAXQ UART的應(yīng)用程序。
審核編輯:郭婷
-
驅(qū)動器
+關(guān)注
關(guān)注
54文章
8481瀏覽量
148574 -
嵌入式
+關(guān)注
關(guān)注
5125文章
19438瀏覽量
313070 -
編譯器
+關(guān)注
關(guān)注
1文章
1652瀏覽量
49729
發(fā)布評論請先 登錄
相關(guān)推薦
USB收發(fā)器的微控制電路MAXQ612相關(guān)資料下載
串行接口8位LED顯示驅(qū)動器
MAXQ2010提供LCD驅(qū)動器的16位混合信號微控制器
如何使用MAXQ串行驅(qū)動程序開發(fā)應(yīng)用-How to Use

MAX6951/MAX6950 LED顯示驅(qū)動器與MAXQ2

MAX6951/MAX6950 LED顯示驅(qū)動器與MAXQ2

MAX6951/MAX6950LED顯示驅(qū)動器與MAXQ20

采用MAXQ2000微控制器和MAX6970 LED驅(qū)動器顯
AD8320:串行數(shù)控可變增益線驅(qū)動器數(shù)據(jù)表

具有串行接口的LED顯示驅(qū)動器參考設(shè)計

使用MAX6951/MAX6950 LED顯示驅(qū)動器與MAXQ2000微控制器通信

如何更新MAXQ串行轉(zhuǎn)JTAG板中的固件

使用MAXQ610微控制器上的串行端口
MAX6951/MAX6950 LED顯示驅(qū)動器與MAXQ2000微控制器的通信

評論