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

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

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

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

采用MAXQ2000微控制器和MAX6970 LED驅(qū)動(dòng)器顯
AD8320:串行數(shù)控可變?cè)鲆婢€驅(qū)動(dòng)器數(shù)據(jù)表

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

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

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

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

評(píng)論