wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5764|回復: 0
打印 上一主題 下一主題
收起左側

ARM裸機篇-串口UART實驗

[復制鏈接]
跳轉到指定樓層
樓主
串口應該都很熟悉了,具體通信原理我就不提了,這個百度上都很多講的,然后就直接看函數了。

  1. void Uart_SendByte(int data)//這個函數是發送整型數據,參數為data
  2. {
  3.     if(whichUart==0)//這個是選中串口0
  4.     {
  5.         if(data=='')//然后判斷數據不為空
  6.         {
  7.       /*寄存器的原始宏定義,
  8.       #define rUTRSTAT0   (*(volatile unsigned *)0x50000010) //UART 0 Tx/Rx status*/
  9.             while(!(rUTRSTAT0 & 0x2));/*這個就是查詢串口0的狀態寄存器,第1位是發送緩沖器是否為空
  10.             第二位是Transmit buffer empty
  11.             0 = The buffer register is not empty
  12.             1 = Empty     這里檢查為0的話就是還沒發送完全,當置1的時候表示發完了,程序繼續執行*/
  13.             Delay(10);                 //because the slow response of hyper_terminal
  14.             WrUTXH0('');
  15.         }
  16.         while(!(rUTRSTAT0 & 0x2));   //Wait until THR is empty.
  17.         Delay(10);
  18.         WrUTXH0(data);
  19.     }
  20.     else if(whichUart==1)
  21.     {
  22.         if(data=='')
  23.         {
  24.             while(!(rUTRSTAT1 & 0x2));
  25.             Delay(10);                 //because the slow response of hyper_terminal
  26.             rUTXH1 = '';
  27.         }
  28.         while(!(rUTRSTAT1 & 0x2));   //Wait until THR is empty.
  29.         Delay(10);
  30.         rUTXH1 = data;
  31.     }   
  32.     else if(whichUart==2)
  33.     {
  34.         if(data=='')
  35.         {
  36.             while(!(rUTRSTAT2 & 0x2));
  37.             Delay(10);                 //because the slow response of hyper_terminal
  38.             rUTXH2 = '';
  39.         }
  40.         while(!(rUTRSTAT2 & 0x2));   //Wait until THR is empty.
  41.         Delay(10);
  42.         rUTXH2 = data;
  43.     }      
  44. }
復制代碼



搞了這么久我還不知道如何確定ARM的大端或是小端格式,這個是在啟動代碼里設置的,現在還沒看,mini2440的串口代碼和華恒2410的串口發送代碼一樣的。注釋如上。

主函數中的關鍵代碼:

  1. /***************************************************************************************
  2. *   Function Name               :   Main()
  3. *   Create Date                 :   2011/12/10
  4. *   Author/Corporation          :   濤行天下
  5. *
  6. *   Description                 :   Find a proper thread in thread array
  7. *
  8. *   Param                       :   ThreadNo : someParam description
  9.                                     ThreadStaus : someParam description
  10. *
  11. *
  12. *   Global Variable             :   DISP_wuiSegmentAppID
  13. *   File Static Variable                :   naucThreadNo
  14. *   Function Static Variable        :   None
  15. *   
  16. *----------------------------------------------------
  17. *   Revision History
  18. *   No.         Date          Revised by                 Item       Description
  19. *   V0.0           2011/12/10     濤行天下          ...         ....
  20. ***************************************************************************************/
  21. void Main(void)
  22. {
  23.     U8 count_num = 0;
  24.     char *mode;
  25.     int i;
  26.     U8 key;
  27.     U32 mpll_val = 0 ;
  28.     //U32 divn_upll = 0 ;

  29.     #if ADS10   
  30. //  __rt_lib_init(); //for ADS 1.0
  31.     #endif

  32.     Port_Init();//端口初始化

  33.     Isr_Init();//中斷初始化

  34.     i = 2 ; //don't use 100M!
  35.         //boot_params.cpu_clk.val = 3;
  36.     //確定頻率
  37.     switch ( i )
  38.     {
  39.         case 0: //200
  40.             key = 12;
  41.             mpll_val = (92<<12)|(4<<4)|(1);
  42.             break;
  43.         case 1: //300
  44.             key = 13;
  45.             mpll_val = (67<<12)|(1<<4)|(1);
  46.             break;
  47.         case 2: //400
  48.             key = 14;
  49.             mpll_val = (92<<12)|(1<<4)|(1);
  50.             break;
  51.         case 3: //440!!!
  52.             key = 14;
  53.             mpll_val = (102<<12)|(1<<4)|(1);
  54.             break;
  55.         default:
  56.             key = 14;
  57.             mpll_val = (92<<12)|(1<<4)|(1);
  58.             break;
  59.     }

  60.     //init FCLK=400M, so change MPLL first
  61.     ChangeMPllValue((mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3);
  62.     ChangeClockDivider(key, 12);
  63.     cal_cpu_bus_clk();

  64.     consoleNum = 0; // Uart 1 select for debug.選擇串口號
  65.     Uart_Init( 0,115200 );//初始化串口參數以及時鐘源
  66.     Uart_Select( consoleNum );//選擇串口號

  67.     Beep(2000, 100);//蜂鳴器

  68.     Uart_SendByte('');//打印信息
  69.     Uart_SendByte('H');
  70.     while(1)
  71.     {
  72.         Uart_SendByte(count_num);
  73.         Uart_SendByte(' ');
  74.         count_num ++;
  75.         Delay(500);
  76.     }
復制代碼



從而讓ARM一直向PC機發送從0-255數據,在PC機中顯示結果如下:

這個看不了十六進制的數,我搞了個串口助手來顯示:

上面那個是用mini2440實現的,那個通過UBOOT可以直接燒寫程序,不過到了華恒的板子我就不知道為啥了,這個苦悶了我好久,今天在進入PPCBOOT中利用erase命令把那個linux系統檫除了,然后進入ppcboot命令行形式才可以jtag調試,不知道為啥,這次終于進了一次調試結果出來了。


下面出一張計數的圖,感覺下成就感吧,雖然底層函數還沒完全弄懂!

現在總結這些步驟吧,最開始在上電的時候不要立馬啟動系統,先要進入PPCBOOT模式命令行,然后再啟動AXD調試器。

通過H-JATG軟件可以看到是小端格式的,但是具體怎么設置暫時還不清楚,
#define WrUTXH0(ch) (*(volatile unsigned char *)0x50000020)=(unsigned char)(ch)




WrUTXH0即是寫UTXH0的意思,UTXH0是第一個串口的發送緩沖寄存器!
2011/12/13日
還是阿南的程序給力啊,華恒板子帶的程序沒啥用
2011/12/21日
感慨日子過的飛快啊!可是我卻沒啥長進,先上程序吧:
  1. ;//呼叫主應用程序
  2.     b UART
  3. UART
  4.     ldr r0, =GPHCON ;//設置RxD0,TxD0引腳
  5.     ldr r1, =0x2afaaa
  6.     str r1, [r0]
  7.      
  8.     ldr r0, =GPHUP
  9.     ldr r1, =0x7ff
  10.     str r1, [r0] ;    // The pull up function is disabled GPH[10:0]


  11.     ldr r0, =UFCON0 ;//禁用FIFO
  12.     ldr r1, =0x0
  13.     str r1, [r0]
  14.    
  15.     ldr r0, =UMCON0  ;//禁用AFC
  16.     ldr r1, =0x0
  17.     str r1, [r0]
  18.      
  19.     ldr r0, =ULCON0 ;//設置線寄存器
  20.     ldr r1, =0x3   ; //UART LINE CONFIG  正常模式,無奇偶校驗,一個停止位,8個數據位
  21.     str r1, [r0]
  22.      
  23.     ldr r0, =UCON0 ;//設置Uart0控制器
  24.     ldr r1, =0x245;//RX邊沿觸發,TX電平觸發,禁用延時中斷,使用RX 錯誤中斷,正常操作模式,中斷請求或表決模式
  25.     str r1, [r0]
  26.      
  27.     ldr r0, =UBRDIV0 ;//設置波特率為115200
  28.     ldr r1, =0x1a    ;//int(50700000 / 16 / 115200) - 1 = 26
  29.     str r1, [r0]
  30.      
  31.     mov r1, #100
  32. Delay
  33.     sub r1, r1, #0x1
  34.     bne Delay
  35.      
  36.     ;//開中斷
  37.     ldr r0, =INTMSK
  38.     ldr r1, [r0]
  39.     and r1, r1, #0xefffffff
  40.     str r1, [r0]
  41.      
  42.     MOV R5 , #127 ;//設置要打印的字符的個數
  43.     MOV R1 , #0x0 ;//設置要打印的字符
  44. LOOP  
  45.    LDR R3 , =UTRSTAT0
  46.    LDR R2 , [R3]
  47.    TST R2 ,#0x04 ;//判斷發送緩沖區是否為空
  48.    BEQ LOOP      ;//為空則執行下邊的語句,不為空則跳轉到LOOP
  49.    LDR R0 , =UTXH0
  50.    
  51.    STR R1 ,[R0] ;//向數據緩沖區放置要發送的數據
  52.    ADD R1, R1, #1
  53.    SUB R5 ,R5, #0x01 ;//計數器減一
  54.    CMP R5 ,#0x0
  55.    BNE LOOP
  56.    
  57. LOOP2   B LOOP2
復制代碼

這個緊跟隨這啟動代碼后面的一部分用匯編編的串口發送程序,設置相關寄存器,然后往PC端發送數據。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
亚洲一区二区自偷自拍| 一区二区日韩在线观看| 黄色影视在线观看| 奇门遁甲1982国语版免费观看高清| 免费黄色的网站| 亚洲最大成人在线视频| 欧美性69xxxx肥| 欧美hdxxxxx| 污污美女网站| av一级黄色片| 久久久久亚洲av片无码下载蜜桃| 久久精品网站视频| 茄子视频成人在线观看 | 日韩欧美一区二区三区免费观看| 婷婷电影在线观看| 国产精品视频免费在线观看| 欧美色图在线观看| 国产欧美中文在线| 日韩不卡在线观看日韩不卡视频| 首页亚洲中字| 亚洲精品成人图区| 国产免费av在线| 可以直接看的av网址站| av色男福利网| 波多野结衣黄色网址| 夜夜春很很躁夜夜躁| 99久久精品免费精品国产| 国产一区二区0| 欧美挠脚心网站| 美国做受三级的视频播放| 成人福利小视频| 国产精品成人免费一区二区视频| 超碰97在线资源站| 在线观看免费污视频| 日韩精品免费一区| 鲁鲁狠狠狠7777一区二区| 国产精品情侣自拍| 韩国精品美女www爽爽爽视频| 亚洲精品二三区| 99久久精品免费看国产小宝寻花| 欧美最猛性xxxxx亚洲精品| 欧美性黄网官网| 亚洲色图欧美激情| 久久先锋资源网| 国内一区二区在线| 亚洲一区不卡| 91久久中文| 欧美日本亚洲韩国国产| 日本久久精品| 国产欧美日韩影院| 牛牛影视久久网| 成人av地址| 欧美激情精品| www.91视频.com| 久久久久久成人精品| 日韩欧美成人区| 亚洲国产一区二区三区青草影视| 国产精品色婷婷| 日韩欧美三区| 成人免费图片免费观看| 精品美女在线观看视频在线观看 | 久久久久久亚洲精品中文字幕| 亚洲天堂一区二区三区| 精品久久人人做人人爰| 亚洲成人在线网| 日韩电影中文字幕av| 日韩av中文在线| 日韩高清欧美高清| 国产亚洲人成网站在线观看| 国产一区二区三区在线| 综合网中文字幕| 欧美久久精品一级黑人c片| 毛片精品免费在线观看| 久久人人爽人人| 国产精品va在线播放| 国产日韩综合一区二区性色av| 国产一区二区香蕉| 成人影片在线播放| 奇米精品在线| 成人在线观看毛片| www.av蜜桃| 免费裸体美女网站| 激情久久综合网| 日韩aaaaa| 一级二级黄色片| 精品一级少妇久久久久久久| 亚洲图片在线视频| 国产伦精品一区二区三区视频痴汉| 亚洲黄色小说网址| 热99精品只有里视频最新| 中国xxxx自拍视频| 日本色七七影院| 图片小说视频色综合| 精品一区二区三区四区五区六区| 欧美性受xxxx黒人xyx性爽| √天堂资源在线| 黄色工厂在线观看| 久久国产波多野结衣| 欧美黑人一区二区| 性生活视频软件| 国产精品视频一区二区免费不卡 | 午夜影院免费体验区| 日本亚洲欧美美色| av电影在线观| 精品亚洲成a人片在线观看| 激情影院在线| 日韩欧美中文字幕一区二区三区| 亚洲三级性片| 国产精品久久久一区二区| 欧美中日韩在线| 国产日韩欧美影视| 久久精品一区二区三区不卡免费视频| 一区二区视频在线免费| 国产xxxxx视频| 全黄一级裸体片| 97超碰人人干| 天天插天天干天天操| 香港日本三级视频| 蜜桃视频在线入口www| 大胆人体一区| 成人区精品一区二区婷婷| 久久久久久9| 国产欧美一区二区精品婷婷| 色综合天天综合在线视频| 亚洲精品美女网站| 国产精品狠色婷| 在线天堂一区av电影| 九九九九九国产| 特级片在线观看| 熟妇人妻系列aⅴ无码专区友真希| 柠檬在线导航福利| 欧美日韩在线资源| 成功精品影院| 婷婷在线观看视频| 久久久噜噜噜久久中文字免| 91精品国产自产在线观看永久| 色999五月色| 99九九99九九九99九他书对| 日日骚一区二区三区| 高h放荡受浪受bl| 116极品美女视频在线观看| 日本在线视频网址| 西野翔中文久久精品字幕| 免费人成网站在线观看欧美高清| 18欧美亚洲精品| 国产婷婷色综合av蜜臀av | 91精品国产麻豆国产自产在线| www.99久久热国产日韩欧美.com| 黄色直播在线| 久久网福利资源网站| 中文一区二区在线观看| 欧美日韩aaaaa| 欧美激情亚洲自拍| 日韩影院一区| 色天使在线视频| 国产精品视频第一页| xfplay爱情电影网love| 日本高清在线观看| 久久美女视频| 久久综合九色综合久久久精品综合| 91成人国产精品| 91精品国产91久久久| 色撸撸在线观看| 999热视频在线观看| 天天曰天天操| 久久av一区二区| 黄色动漫网站入口| 免费视频网站www| 在线视频一区二区三区在线播放| 最近中文视频在线| 91综合久久爱com| 精品一区二区三区免费| 在线观看日产精品| 国产精品7m视频| 欧美精品成人网| a片在线免费观看| 国产三级香港三韩国三级| 亚洲精品一区av| 老司机精品视频在线| 另类小说视频一区二区| 精品1卡二卡三卡四卡老狼| 日韩精品一区二区三区视频播放| 国产精品成人久久久久| 熟女性饥渴一区二区三区| 圆产精品久久久久久久久久久| 美女高潮网站| 日本在线一区二区| 国产黑丝在线一区二区三区| 日韩三级视频在线观看| 国产精品久久7| 国产精品无码一区二区三区免费| 中文乱码字幕午夜无线观看| 午夜羞羞小视频在线观看| 激情文学一区| 欧美午夜精品电影| 亚洲xxxx3d| 色综合久久88色综合天天| 91偷拍一区二区三区精品| 成人福利视频网站| 亚洲天堂av在线免费| mm131午夜| 国产一级片毛片| 在线观看h网址| 欧美残忍xxxx极端| 亚洲mv在线观看| 国产一区深夜福利| 李宗瑞91在线正在播放| 色猫视频免费观看| 免费观看又色又爽又黄的网站| 牛牛精品一区二区| 国产呦萝稀缺另类资源| 国产亚洲精品久久久| 日本天堂免费a| 在线视频欧美亚洲| 欧美超级免费视 在线| 四虎精品永久免费| 欧美成人一品| 欧美唯美清纯偷拍| 精品无人区一区二区三区| 男人的天堂av网| 爱爱视频网站| 亚洲国产合集| 欧美日韩激情小视频| 99国产超薄丝袜足j在线观看| 无码 人妻 在线 视频| eeuss影院第1页在线| 在线看成人短视频| 欧美日韩黄色大片| 欧美区高清在线| 亚洲另类在线观看| 春暖花开成人亚洲区| 天堂蜜桃91精品| 国产一区二区动漫| 国产野外作爱视频播放| 欧美做爰猛烈大尺度视频| 久久免费精品| 亚洲一线二线三线视频| 国产99视频精品免费视频36| 妺妺窝人体色www聚色窝仙踪| 在线的色视频| 日韩经典一区二区| 精品国内自产拍在线观看| 黄色av免费在线播放| 国产免费黄网站| 一本色道久久综合亚洲精品酒店 | 成人深夜在线观看| 欧美日本免费一区二区三区| 五月天亚洲综合小说网| 中文资源在线播放| segui88久久综合| 91蜜桃免费观看视频| 国产精品com| 九九热精彩视频| 欧美jizz18性欧美| 成人免费观看视频| 国产精品入口免费视| 妺妺窝人体色www聚色窝仙踪| 在线观看完整版免费| 国产成人av电影在线播放| 欧美综合第一页| 2025国产精品自拍| 老司机午夜在线视频| 91在线国产观看| 国产91色在线|免| 国产欧美二区| 天天撸天天射| 视频精品国内| 日韩欧美在线字幕| 男人天堂成人网| 天堂中文字幕av| 大香伊人久久精品一区二区| 欧美亚洲尤物久久| 中文字幕亚洲欧美日韩在线不卡| 不卡av免费在线| 浮力影院网站午夜| 黑人一区二区| 日韩在线观看免费全| 四虎国产精品成人免费入口| 三级视频在线播放| 成人毛片老司机大片| 亚洲综合在线做性| 国产毛片久久久久| av综合网页| 亚洲第一免费播放区| 国偷自产av一区二区三区麻豆| 特黄特黄的视频| 国产精品一品视频| 亚洲xxxx3d| www.com在线观看| 亚洲精品播放| 亚洲欧美日韩国产中文| 亚洲成人日韩在线| 国产又粗又猛又黄又爽| 久久久久亚洲精品成人网小说| 日韩av在线影院| 一二三av在线| 欧美高清xxxxxkkkkk| 国产精品一区一区三区| 亚洲xxxx在线| 黄色美女一级片| 欧美限制电影| 久久综合网hezyo| 欧美黑人精品一区二区不卡| 91超碰免费在线| 丰满岳妇乱一区二区三区| 日本久久久精品视频| 污网站免费看| 成人做爰69片免费看网站| 国产精品一区二区欧美| 天堂中文资源在线观看| 97人人精品| 欧美日韩国产二区| 日韩视频在线观看一区二区三区| 亚洲国产成人av在线| www.视频一区| 97超级碰碰| 日本精品久久久久| 天天做天天爱天天爽综合网| 久久精品亚洲94久久精品| 久草资源在线视频| 国产日韩在线观看视频| 国产婷婷成人久久av免费高清| av网站免费在线看| 原纱央莉成人av片| 日韩美一区二区三区| 阿v天堂2014| 国产精品99久久久久久董美香| 精品粉嫩超白一线天av| 国产调教在线观看| 91综合国产| 亚洲色在线视频| 中国一级特黄毛片| 蜜桃精品噜噜噜成人av| 久久久精品视频成人| 91一区在线观看| 91大神在线观看线路一区| 国产精品色哟哟网站| 日本五级黄色片| 全部孕妇毛片丰满孕妇孕| 久久久亚洲高清| 国产精品专区在线| 在线免费国产视频| 亚洲资源在线观看| 91精品人妻一区二区三区蜜桃2| 中文在线观看免费| 91精品国产色综合久久不卡蜜臀| 波多野吉衣中文字幕| 欧美国产视频| 色偷偷av一区二区三区| 最好看的日本字幕mv视频大全| 久久精品国产99久久| 成人h片在线播放免费网站| 亚洲最新永久在线观看| 久久66热re国产| 日本黄色播放器| 最新在线观看av| 精品福利在线观看| 韩国三级日本三级少妇99| 黑人精品一区二区| 奇米影视一区二区三区小说| 日韩av高清| 91短视频在线观看| 亚洲成人免费视| 国产精品无码一区二区三区| 成人国产精品久久| 久久免费国产视频| 久久久久免费网站| 99天天综合性| 黄色一级免费大片| 91制片在线观看| 中文字幕av一区二区| 999免费视频| 日本色综合中文字幕| 真人做人试看60分钟免费| 国产福利电影在线| 欧美一级国产精品| 极品国产91在线网站| 妖精视频成人观看www| 影音先锋在线亚洲| 成人午夜电影在线观看| 欧美xxxxx牲另类人与| 国产一级淫片a视频免费观看| 在线日韩中文| 超碰免费在线公开| 成人影院www在线观看| 亚洲精品一区中文字幕乱码| 国产巨乳在线观看| 国产一区二区三区精品视频| 亚洲精品在线观看www| 欧美亚州韩日在线看免费版国语版| 欧美久久一区二区| 亚洲一级二级片| 日韩精品免费一区二区在线观看| 国产精品12| www免费在线观看视频| 在线成人免费视频| 99久久久久久久久| 蜜乳av一区二区| 欧美精品aaaa| 亚洲男人在线|