<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > TQ2440之串口傳輸數據

TQ2440之串口傳輸數據

作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò ) 收藏
串口打印,好東西啊這個(gè)。目標就是從板子傳輸數據打印在超級終端上,也就是在電腦上能顯示板子傳輸的數據即可,這個(gè)比較容易,有參考了TQ自帶的2440lib.c文件,對初始化那些參考芯片跟那個(gè)c文件之后很快程序就出來(lái)了,有更簡(jiǎn)便的方法,但是要自己寫(xiě)出來(lái)才比較印象深刻。
程序如下:
#include "2440addr.h"
#include "Option.h"
#include "def.h"
//一旦用到U32怎么不行
unsigned int PCLK;
extern void Uart_Printf(char *fmt,...);//函數申明,不然一直提示警告
extern void Uart_Select(int ch);
void delay(void)//Delay()在2440lib.c里邊有定義,不小心重定義了,糾結了一下
{
unsigned int i,j;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
;
}
void My_uart_init(int mypclk,int mybuat)//我自己寫(xiě)的串口初始化
{
unsigned int a;
rGPHCON = 0x0faaa;//0x1111 1010 1010 1010選中RTS、CTS、TXD、RXD
rGPHUP = 0x7ff;//全取消上拉電阻【0;10」共11個(gè)I/O口
if(mypclk == 0)//如果為0就用mpll中PCLK的時(shí)鐘頻率,這里我用了50MHz,而且必須是50MHz
mypclk = PCLK;//mpll的PCLK不就是50MHz么,如果設置為mypclk為0應該也是可以,沒(méi)試。
rUFCON0 = 0x0;
rUFCON1 = 0x0;
rUFCON2 = 0x0;//FIFO禁止
rUMCON0 = 0x0;
rUMCON1 = 0x0;//禁止AFC等
rULCON0 = 0x3;//傳輸字長(cháng)8字節
rUCON0 = 0x245;//【0,3】是保留沒(méi)得設置的,設置Rx錯誤狀態(tài)中斷,Tx電平中斷。串口1、2設置一樣
rUBRDIV0 = ((int)(mypclk/(mybuat*16)))-1;//為發(fā)送器和接收器提供串行時(shí)鐘,計算公式見(jiàn)芯片手冊
rULCON1 = 0x3;
rUCON1 = 0x245;
rUBRDIV1 = ((int)(mypclk/(mybuat*16)))-1;
rULCON2 = 0x3;
rUCON2 = 0x245;
rUBRDIV2 = ((int)(mypclk/(mybuat*16)))-1;
for(a=0;a<100;a++);//延時(shí),參考2440lib.c,個(gè)人理解應該是
}
void Main(void)
{
Uart_Select(0);//選擇串口0
My_uart_init(50000000,115200);//給時(shí)鐘50MHz,波特率115200串口才能工作
Uart_Printf("nn");//測試2440lib.c里面關(guān)于輸入n是不是會(huì )另外補上r,回車(chē)換行
delay();
while(1)
{
Uart_Printf("I love caimanjun more than myselfn"); //打印字符串
delay();
Uart_Printf("yes I do! n");
delay();
}
}


關(guān)鍵詞: TQ2440串口傳輸數

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>