久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1919|回復: 6
收起左側

求幫助啊,stc15W413單片機串口通訊沒數據

[復制鏈接]
回帖獎勵 2 黑幣 回復本帖可獲得 2 黑幣獎勵! 每人限 1 次(中獎概率 40%)
ID:813153 發表于 2020-10-13 09:59 | 顯示全部樓層 |閱讀模式
以下是程序用的串口代碼,檢查了好久,是查看了很多代碼,真的真不出問題所在。用串口助手發送數據后就沒有數據回來過。

#define S1_S0 0x40              //P_SW1.6
#define S1_S1 0x80              //P_SW1.7
bit busy;
char temp,rec_flag = 0;

/***************************************************************************
** Function name: void InitUart1(void)
** Descriptions: uart初始化
** input parameters:
** output parameters:
** Returned value:
***************************************************************************/
void InitUart1(void)                     //9600
{         
        EA    = 0;
    ACC   = P_SW1;
    ACC  &= ~(S1_S0 | S1_S1);    //S1_S0=0 S1_S1=1
    ACC  |= S1_S1;               //(P1.6/RxD_3, P1.7/TxD_3)
    P_SW1 = ACC;  
    SCON  = 0x50;                //8位數據,可變波特率
    AUXR |= 0x01;                //串口1選擇定時器2為波特率發生器
    AUXR |= 0x04;                //定時器2時鐘為Fosc,即1T
    T2L   = 0xE0;                //設定定時初值
    T2H   = 0xFE;                //設定定時初值
    AUXR |= 0x10;                //啟動定時器2
           ES    = 1;                   //中斷允許
           EA    = 1;   
}

/***************************************************************************
** Function name: void SendData(BYTE dat)
** Descriptions: 發送字節
** input parameters:
** output parameters:
** Returned value:
***************************************************************************/
void SendData(BYTE dat)
{
    while(busy);
    busy = 1;
    SBUF = dat;
}
/***************************************************************************
** Function name: void SendString(char *s)
** Descriptions: 發送字符串
** input parameters:
** output parameters:
** Returned value:
***************************************************************************/
void SendString(char *s)
{
    while (*s)                  //檢測字符串結束標志
    {
        SendData(*s++);         //發送當前字符
    }
}

/***************************************************************************
** Function name: void Uart() interrupt 4
** Descriptions: uart初始化
** input parameters:
** output parameters:
** Returned value:
***************************************************************************/
void Uart() interrupt 4
{
    if (RI)
    {
        RI = 0;                 //清除RI位
        temp = SBUF;            //數據
        uart_receive_input(temp);
    }
    if (TI)
    {
        TI = 0;                 //清除TI位
        busy = 0;               //清忙標志
    }
}
回復

使用道具 舉報

ID:827243 發表于 2020-10-13 15:37 | 顯示全部樓層
檢查辦法,上電后就用串口發一串碼,如果沒收到,說明是初始化和硬件問題了。調好這個再調收發。
回復

使用道具 舉報

ID:798631 發表于 2020-10-13 21:58 | 顯示全部樓層
耐心調試,很簡單的東西。先調試接收數據,程序仿真沒問題再說其他
回復

使用道具 舉報

ID:822755 發表于 2020-10-14 10:36 | 顯示全部樓層
檢查計算的波特率設置,檢查與計臬機的連接線(計算機的TX接單片機的RX, RX-TX)
回復

使用道具 舉報

ID:813153 發表于 2020-10-15 10:31 | 顯示全部樓層
daemondong 發表于 2020-10-13 15:37
檢查辦法,上電后就用串口發一串碼,如果沒收到,說明是初始化和硬件問題了。調好這個再調收發。

初始化的代碼就是上面的代碼了,硬件的話串口就接RX-TX,TX-RX,GND-GND,這沒有問題吧
回復

使用道具 舉報

ID:813153 發表于 2020-10-15 10:32 | 顯示全部樓層
KongQuan 發表于 2020-10-14 10:36
檢查計算的波特率設置,檢查與計臬機的連接線(計算機的TX接單片機的RX, RX-TX)

波特率設置的是9600,用的是內部晶振,接線的話RX-TX,TX-RX,GND-GND
回復

使用道具 舉報

ID:813153 發表于 2020-10-15 10:33 | 顯示全部樓層
15830266185 發表于 2020-10-13 21:58
耐心調試,很簡單的東西。先調試接收數據,程序仿真沒問題再說其他

主要是調試很久了,功能現在我就是直接串口的收發,用的例程是官網的,然后修改
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲天堂av网 | 国产精品国产精品国产专区不卡 | 成人h视频 | 亚洲欧美日韩精品久久亚洲区 | 一区二区三区在线免费观看 | 亚洲高清视频在线观看 | 久久久久久国产精品久久 | 国产精品亚洲一区二区三区在线 | 人人干在线 | 久久99蜜桃综合影院免费观看 | 操人网 | 99re99| 久久不卡 | 超碰av在线 | 围产精品久久久久久久 | 亚洲美女视频 | 久久精品无码一区二区三区 | 男女视频在线看 | 久久噜噜噜精品国产亚洲综合 | av一级久久 | 91视频正在播放 | 国产黄色小视频 | 亚洲欧美激情国产综合久久久 | 欧美日韩在线成人 | 色av一区二区 | 天天干天天干 | 久久久久亚洲精品中文字幕 | 久久久久久亚洲精品 | 精品视频一区二区三区 | 在线免费观看日本视频 | 亚洲 欧美 另类 综合 偷拍 | 精品乱人伦一区二区三区 | av在线免费播放 | 在线欧美小视频 | 精品一区av | 欧美视频一区二区三区 | 在线观看一区 | 91精品国产综合久久久动漫日韩 | 日韩在线视频观看 | 日韩欧美手机在线 | 国产精品96久久久久久 |