C語言串口測試程序代碼

bcf2 10年前發布 | 1K 次閱讀 C/C++

#include<stdio.h>
unsigned int UART0_ADDR = 0x20080000;
unsigned int retu=0;
int i=0;
void delay_x(unsigned short cycles)
{
unsigned short t; t = cycles; while ( --t != 0 ); } int main() { ///////////初始化部分//////////////////////////////////////////////////// retu = (unsigned int )(UART0_ADDR + 0X30);//uart_cr (unsigned int )(UART0_ADDR + 0X30) = 0x300; // retu = (unsigned int )(UART0_ADDR + 0X24);//ibrd // retu = (unsigned int )(UART0_ADDR + 0X28);//fbrd (unsigned int )(UART0_ADDR + 0X24) = 1; (unsigned int )(UART0_ADDR + 0X28) = 40; (unsigned int )(UART0_ADDR + 0X30) = 0x300;

(unsigned int )(UART0_ADDR + 0X2c) = 0x60;//UART_LCR_H (unsigned int )(UART0_ADDR + 0X34) = 0x12; //UART_IFLS (unsigned int )(UART0_ADDR + 0X38) = 0x0;//UART_IMSC

retu = *(unsigned int *)(UART0_ADDR  + 0X30);//uart_cr

*(unsigned int *)(UART0_ADDR  + 0X30) = retu | 0x01;//使能串口

//////////////////////////////////////////////////////////
while(1) { // retu = (unsigned int )(UART0_ADDR + 0X18); // retu = retu&0x40; if((((unsigned int )(UART0_ADDR + 0X18))&0x40)==0x40) { retu = (unsigned int )(UART0_ADDR + 0X00); retu = retu&0xff; (unsigned int )(UART0_ADDR + 0X00) = retu; } retu = 0; delay_x(0X7000); } return 0; }</pre>

 本文由用戶 bcf2 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!