如何實現W7100A中的UART 二

2021-06-06 16:45:39 字數 1513 閱讀 5465

如何實現w7100a中的uart第一部分請參考:

4.  2, 9位uart,固定波特率

void init_imcu(void)

void putbyte(unsigned char bydata)

unsigned char getbyte(void)   

void main()

波特率的uart模式2是固定內部時鐘的fosc/32或fosc/64。具體選擇f

osc/32

還是fosc

/64要根據smod0的位來確定。考慮到w7100a的內部時鐘,產生的高速波特率時鐘的範圍為2.7 ~ 1.4mhz。如同模式0的情況,一般不使用模式3,因為波特率是固定的且時鐘頻率過快。

在這些示例程式中,將scon暫存器設定為0x90。為了設定波特率,還要設定smod0,

pcon暫存器的最高位(波特率= f

osc/32)

。其它實現輸出資訊的**也和第2章中介紹的接收過程的程式類似。

5.  3, 9位uart,可變波特率

5.1 定時器1(timer 1)時鐘源

void init_imcu(void)

void putbyte(unsigned char bydata)

unsigned char getbyte(void)   

void main()

uart在模式3下,可以交換使用定時器1(timer1)和定時器2(timer2)來設定波特率的值。在這一章節,我們使用定時器1(timer1)來設定波特率的值,資訊請參考w7100a資料手冊。與模式1不同的是,停止位之前多了1位。這一增加位可以用作奇偶校驗或者多重處理器通訊,詳情請參考w7100a資料手冊。

在示例程式中,將scon暫存器設定為0xd0,定時器1(timer1)工作在模式2下。為了能設定波特率,需要設定pcon暫存器的smod位,同時th1暫存器的值設為0xfc。這樣設定完成後,波特率的值為115200bps。其它實現輸出資訊的**也和第2章中介紹的接收過程的程式類似。

5.2 定時器2(timer 2)時鐘源

void init_imcu(void)

void putbyte(unsigned char bydata)

unsigned char getbyte(void)   

void main()

uart在模式3可以交換使用定時器1(timer1)和定時器2(timer2)來設定波特率。在這一章節,利用定時器2(timer2)來設定波特率。更多的詳細資訊請參考w7100a資料手冊。與模式1不同的是,在停止位之前多了1位,此位可以用於奇偶校驗或者多重處理器通訊。具體的細節可以參考w7100a資料手冊。

在上面的程式中,將scon暫存器設為0xd0,定時器2(timer2)設定為波特率發生器模式。為了能夠設定波特率,還需要將th2和tl2的值分別設為0xff和0xe8。都設定完成後,波特率的值就變成115200bps。過載值rldh和rldl也必須相應的設定為0xff和0xe8。其它實現輸出資訊的**也和第2章中介紹的接收過程的程式類似。

如何實現W7100A中的UART

簡介 這篇文件主要介紹了在w7100a中使用uart通訊的基本示例程式。所有的這些示例 都是基於c語言和keil編譯器完成的。詳情請參考w7100a資料手冊 第6章uart 中關於 uart 暫存器 中斷等等。圖表1為設定uart波特率所用到的各個暫存器。定時器1 timer1 相關的暫存器是smo...

如何實現W7100A程式燒錄

1 簡介 w7100a的 儲存器內部具有啟動rom boot rom 和快閃儲存器 flash memory 啟動rom通過isp函式自動驅動w7100a,因此使用者不能修改啟動rom中的 但是,快閃儲存器仍然可以作為 儲存器使用。當系統復位時,w7100a自動執行啟動rom的啟動 這之後的過程根據...

如何實現W7100A中的UART 三

6.執行例項 在imcu7100evb開發板上執行 如何實現w7100a中的uart 檔案中的示例 過程如下 1.建立乙個keil工程,寫入uart示例 2.由keil編譯器編進行編譯,並建立hex文件 3.4.執行序列終端程式,設定埠 波特率等等 5.在開發板上執行程式,確認能接收到來自終端程式的...