<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 最簡單的S3c2440UART功能測試

          最簡單的S3c2440UART功能測試

          作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201611/318932.htm
          1. /*******************************************
          2. *文件名稱:UART.c
          3. *實現(xiàn)功能:最基本的UART發(fā)送與接收
          4. *作者:無jianqi
          5. *版本:1.0
          6. **********************************************/
          7. #include"2440addr.h"http://包含2440相關(guān)寄存器的設(shè)置
          8. #include"def.h"
          9. //四個LED對應(yīng)GPB5.6.7.8。
          10. #defineLED15
          11. #defineLED26
          12. #defineLED37
          13. #defineLED48
          14. #defineBAUD115200//波特率
          15. #defineBit(x)(1<
          16. #defineOutput(x)(1<<2*x)//將對應(yīng)IO置為輸出
          17. #defineLED_On(x)rGPBDAT=~Bit(x)//點亮相應(yīng)LED
          18. /*******************************************
          19. *名稱:Clk_Set
          20. *功能:關(guān)于系統(tǒng)時鐘的初始化
          21. *入口參數(shù):無
          22. *出口參數(shù):無
          23. **********************************************/
          24. voidClk_Set(void)
          25. {
          26. intcount;
          27. rUPLLCON=(56<<12)|(2<<4)|2;//UCLK為48MHZ
          28. for(count=0;count<10;count++)
          29. {
          30. ;
          31. }
          32. rMPLLCON=(92<<12)|(1<<4)|1;//FCLK為400MHZ
          33. rCLKDIVN=(0<<3)|(2<<1)|1;//HCLK位100MHZ,PCLK為50MHZ
          34. rCAMDIVN=(0<<9);//PCLK=HCLK/4
          35. }
          36. /*******************************************
          37. *名稱:IO_init
          38. *功能:關(guān)于LED的端口初始化
          39. *入口參數(shù):無
          40. *出口參數(shù):無
          41. **********************************************/
          42. voidIO_init(void)
          43. {
          44. rGPBCON=Output(LED1)|Output(LED2)|Output(LED3)|Output(LED4);//LED的IO口置為輸出
          45. rGPBDAT=0xffff;//LED全部熄滅
          46. }
          47. /*******************************************
          48. *名稱:UART0_init
          49. *功能:UART0相關(guān)的初始化工作
          50. *入口參數(shù):無
          51. *出口參數(shù):無
          52. **********************************************/
          53. voidUART0_init(void)
          54. {
          55. rGPHCON=0xa0;//IO口使能UART0功能
          56. rGPHUP=0xff;//上拉禁止
          57. rULCON0=0x03;//8位數(shù)據(jù),無校驗,1位停止位
          58. rUCON0=0x05;//pclk時鐘,中斷請求方式為Tx-電平,Rx-脈沖
          59. rUBRDIV0=26;//設(shè)置波特率
          60. rUFCON0=0x00;//不使用FIFO
          61. rUMCON0=0x00;//不使用流控
          62. }
          63. /*******************************************
          64. *名稱:Send_Byte
          65. *功能:發(fā)送一個字符
          66. *入口參數(shù):等待發(fā)送的字符
          67. *出口參數(shù):無
          68. **********************************************/
          69. voidSend_Byte(chardata)
          70. {
          71. while(!(rUTRSTAT0&0x2));//等待發(fā)送緩沖器空
          72. rUTXH0=data;
          73. }
          74. /*******************************************
          75. *名稱:Send_String
          76. *功能:發(fā)送字符串
          77. *入口參數(shù):等待發(fā)送的字符串
          78. *出口參數(shù):無
          79. **********************************************/
          80. voidSend_String(char*pt)
          81. {
          82. while(*pt)
          83. {
          84. Send_Byte(*pt++);
          85. }
          86. }
          87. /*******************************************
          88. *名稱:Uart_Getch
          89. *功能:接收一個字符
          90. *入口參數(shù):無
          91. *出口參數(shù):接收的字符
          92. **********************************************/
          93. charUart_Getch(void)
          94. {
          95. while(!(rUTRSTAT0&0x1));//等待接收緩沖器有數(shù)據(jù)
          96. return(rURXH0);//讀出數(shù)據(jù)
          97. }
          98. /*******************************************
          99. *名稱:Main
          100. *功能:測試UART發(fā)送和接收函數(shù)
          101. *入口參數(shù):無
          102. *出口參數(shù):無
          103. **********************************************/
          104. voidMain(void)
          105. {
          106. chartemp;
          107. IO_init();
          108. UART0_init();
          109. Clk_Set();
          110. Send_String("HelloWorld");//發(fā)送字符串
          111. while(1)
          112. {
          113. temp=Uart_Getch();//接收到字符
          114. if(temp==0x01)
          115. {
          116. LED_On(LED1);
          117. }
          118. }
          119. }




          關(guān)鍵詞: S3c2440UART功能測

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();