欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
stc12c5a想要在串口1接收到的內容后加回車換行符號卻實現不了
[打印本頁]
作者:
Cheney01
時間:
2021-1-11 10:01
標題:
stc12c5a想要在串口1接收到的內容后加回車換行符號卻實現不了
stc12c5a想要在串口1接收到的內容后加回車換行符號后由串口2發送出去卻實現不了,有大佬能幫忙看看修改一下嗎?初始學徒比較菜
#include<stc12c5a.h>
#define S2RI 0x01
#define S2TI 0x02
sbit RW=P1^7;
unsigned char *a,*b;
unsigned char flag1,flag2;
void InitUART(void)
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFA;
TL1 = TH1;
TR1 = 1;
EA =1;
ES =1;
S2CON = 0x50;
BRT = 0xFA;
AUXR = 0x10;
IE2 =0x01;
}
void UART_1SendOneByte(unsigned char c)
{
SBUF = c;
while(!TI);
TI = 0;
}
void UART_2SendOneByte(unsigned char c)
{
RW=1;
S2BUF=c;
while(!(S2CON&S2TI));
S2CON&=~S2TI;
RW=0;
}
void uart1SendStr(unsigned char *s)
{
while(*s!='\0')
{
UART_1SendOneByte(*s);
s++;
}
}
void uart2SendStr(unsigned char *s)
{
while(*s!='\0')
{
UART_2SendOneByte(*s);
s++;
}
}
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=600;y>0;y--);
}
void main(void)
{
InitUART();
delay(50);
while(1)
{
if(flag1==1)
{
flag1=0;
uart2SendStr(a);
}
if(flag2==1)
{
flag2=0;
uart1SendStr(b);
}
}
}
void UART_1Interrupt(void) interrupt 4
{
if(RI==1)
{
RI=0;
*a=SBUF;
a+='\r';
a+='\n';
}
}
void UART_2Interrupt(void) interrupt 8
{
if(S2CON&S2RI)
{
S2CON&=~S2RI;
*b=S2BUF;
}
}
復制代碼
04.zip
2021-1-11 09:58 上傳
點擊文件名下載附件
695 Bytes, 下載次數: 3
作者:
munuc_w
時間:
2021-1-11 11:32
回車符0x0D,換行符0x0A,添加后發送即可。或者加 '\r'是回車符,'\n'是換行符。
作者:
人人學會單片機
時間:
2021-1-11 16:15
用我這個貼子的代碼就行 多字節發送 帶了 換行和回車 還支持軟件復位
你是STC12 可能定時器寄存器需要修改一下.
http://m.raoushi.com/bbs/dpj-200927-1.html
作者:
Cheney01
時間:
2021-1-11 16:25
添加了,可能是添加的不對,實現不了
作者:
田賀
時間:
2021-1-11 22:28
*a沒申請內存
a+=是對地址操作而不是字符串
a申請時要用數組或者malloc
調用時用下標形式或者string庫函數
作者:
xhaity
時間:
2021-1-11 23:39
把*a;定義成數組形式試一下, a[10]; a[0] = SBUF;a[1] ='\r' ;a[2] ='\n';a[3] = '\0';
作者:
Cheney01
時間:
2021-1-12 15:05
謝謝各位大佬,我嘗試一下
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1