久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STC15單片機4串口中斷收發數據源代碼,親測能用
[打印本頁]
作者:
xs3396
時間:
2018-9-11 17:04
標題:
STC15單片機4串口中斷收發數據源代碼,親測能用
STC15W4K58s4單片機4路串口同時中斷收發數據代碼
0.png
(10.2 KB, 下載次數: 98)
下載附件
2018-9-11 18:01 上傳
單片機源程序如下:
#include "uart.h"
u8 Uart1_RecvBuf[11]; //串口數據緩存
u8 point1 = 0; //綬存指針
u8 UART1_RecvFlag=0;
u8 Uart2_RecvBuf[11]; //串口數據緩存
u8 point2 = 0; //綬存指針
u8 UART2_RecvFlag=0;
u8 Uart3_RecvBuf[11]; //串口數據緩存
u8 point3 = 0; //綬存指針
u8 UART3_RecvFlag=0;
u8 Uart4_RecvBuf[11]; //串口數據緩存
u8 point4 = 0; //綬存指針
u8 UART4_RecvFlag=0;
void UartInit(void) //9600bps@11.0592MHz
{
P3M0 &= ~(1<<7); //設置P3.7為準雙向IO
P3M1 &= ~(1<<7);
S1_USE_P30P31();
SCON = 0x50; //8位數據,可變波特率
AUXR |= 0x40; //定時器1時鐘為Fosc,即1T
AUXR &= 0xFE; //串口1選擇定時器1為波特率發生器
TMOD |= 0x00; //設定定時器1為16位自動重裝方式
TL1 = 0xE0; //設定定時初值
TH1 = 0xFE; //設定定時器重裝值
ET1 = 0; //禁止定時器1中斷
TR1 = 1; //啟動定時器1
S2CON = 0x50; //8位數據,可變波特率
AUXR |= 0x04; //定時器2時鐘為Fosc,即1T
T2L = 0xE0; //設定定時初值
T2H = 0xFE; //設定定時初值
AUXR |= 0x10; //啟動定時器2
S3CON = 0x10; //8位數據,可變波特率
S3CON |= 0x40; //串口3選擇定時器3為波特率發生器
T4T3M |= 0x02; //定時器3時鐘為Fosc,即1T
T3L = 0xE0; //設定定時初值
T3H = 0xFE; //設定定時初值
T4T3M |= 0x08; //啟動定時器3
S4CON = 0x10; //8位數據,可變波特率
S4CON |= 0x40; //串口4選擇定時器4為波特率發生器
T4T3M |= 0x20; //定時器4時鐘為Fosc,即1T
T4L = 0xE0; //設定定時初值
T4H = 0xFE; //設定定時初值
T4T3M |= 0x80; //啟動定時器4
UART2_INT_ENABLE();
UART3_INT_ENABLE();
UART4_INT_ENABLE();
ES = 1;
EA = 1;
}
/*----------------------------
發送串口數據
----------------------------*/
void Uart1_Sendbyte(unsigned char ch)
{
SBUF = ch; //寫數據到UART數據寄存器
while (!TI); //等待前面的數據發送完成
TI = 0;
}
void Uart1_SendData()
{
int i;
for(i=0;i<11;i++)
{
Uart1_Sendbyte(Uart1_RecvBuf[i]);
}
}
void Usart() interrupt 4 using 1 // 串口中斷函數
{
ES = 0;
if (RI)
{
RI = 0; //清除RI位
Uart1_RecvBuf[point1] = SBUF;
if (Uart1_RecvBuf[0] == 0x55)
{
point1++;
if(point1>=11)
{
point1 = 0;
}
}
if(Uart1_RecvBuf[1] == 0x53)
{
UART1_RecvFlag=1;
}
}
ES = 1;
}
/*----------------------------
通過串口2發送串口數據
----------------------------*/
void Uart2_Sendbyte(unsigned char ch)
{
S2BUF = ch; //寫數據到UART數據寄存器
while(!TI2); //不忙后發送數據
CLR_TI2();
}
void Uart2_SendData()
{
int i;
for(i=0;i<11;i++)
{
Uart2_Sendbyte(Uart2_RecvBuf[i]);
}
}
void Usart2() interrupt 8 using 1
{
UART2_INT_DISABLE();
if(RI2)
{
CLR_RI2(); //清除RI位
Uart2_RecvBuf[point2] = S2BUF;
if (Uart2_RecvBuf[0] == 0x55)
{
point2++;
if(point2>=11)
{
point2 = 0;
}
}
if(Uart2_RecvBuf[1] == 0x53)
{
UART2_RecvFlag=1;
}
}
UART2_INT_ENABLE();
}
/*----------------------------
通過串口3發送串口數據
----------------------------*/
void Uart3_Sendbyte(unsigned char ch)
{
S3BUF = ch; //寫數據到UART數據寄存器
while(!TI3); //不忙后發送數據
CLR_TI3();
}
void Uart3_SendData()
{
int i;
for(i=0;i<11;i++)
{
Uart3_Sendbyte(Uart3_RecvBuf[i]);
}
}
void Usart3() interrupt 17
{
UART3_INT_DISABLE();
if(RI3)
{
CLR_RI3(); //清除RI位
Uart3_RecvBuf[point3] = S3BUF;
if (Uart3_RecvBuf[0] == 0x55)
{
point3++;
if(point3>=11)
{
point3 = 0;
}
}
if(Uart3_RecvBuf[1] == 0x53)
{
UART3_RecvFlag=1;
}
}
UART3_INT_ENABLE();
}
/*----------------------------
通過串口4發送串口數據
----------------------------*/
void Uart4_Sendbyte(unsigned char ch)
{
S4BUF = ch; //寫數據到UART數據寄存器
while(!TI4); //不忙后發送數據
CLR_TI4();
}
void Uart4_SendData()
{
int i;
for(i=0;i<11;i++)
{
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
4路串中斷收發.rar
(126.09 KB, 下載次數: 266)
2018-9-11 17:03 上傳
點擊文件名下載附件
STC15W4K58S4單片機源程序
下載積分: 黑幣 -5
作者:
xsf444051989
時間:
2018-12-26 18:06
希望有用
作者:
liuz325
時間:
2019-3-17 22:04
希望有用
作者:
gongzhu
時間:
2019-6-2 21:55
整了個15w4k48S4回來做modbus從站用,正需要!
作者:
hyz5122
時間:
2019-7-10 09:08
不錯,先下載來學習,學習
作者:
yulin3192
時間:
2019-7-18 15:46
不是我想要的答案
作者:
elec_hangzhou
時間:
2019-8-2 15:04
希望能解決我的困惑,學習一下。
作者:
zhangjianhu
時間:
2019-10-18 10:23
參考下樓主的歷程,寫的很清晰
作者:
caiwj
時間:
2020-3-5 17:26
參考下樓主的歷程
作者:
talentnan
時間:
2021-3-31 09:39
正在使用STC15w4k32s4寫多串口同時通訊程序,參考一下
作者:
15540241206
時間:
2021-9-8 11:04
沒啥用 調試了一下沒反應 白充了!!!!!
作者:
ZHAOBAO511
時間:
2022-6-28 10:42
直接發送沒反應:delayms(200);
Uart4_SendData1();
delayms(200);
作者:
mmlyy2001
時間:
2025-7-22 08:49
正在使用STC15w4k32s4寫多串口同時通訊程序,參考一下
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
97久久超碰
|
国产91在线看
|
欧美一区二区在线视频
|
视频一区在线播放
|
能看毛片的网站
|
天天综合永久入口
|
国产一区高清
|
日本国产一区
|
中文在线一区
|
看黄网站在线观看
|
日韩在线观看中文字幕
|
国产精品国产精品国产专区不卡
|
五月婷婷激情综合
|
波多野结衣视频一区
|
日韩a在线观看
|
欧美日韩在线精品
|
国产美女精品
|
日韩免费大片
|
99视频+国产日韩欧美
|
欧美区一区二
|
国产成人aⅴ
|
成人黄色小视频
|
www.av在线视频
|
国产精品久久久久久久免费看
|
综合久久久久
|
在线免费看毛片
|
黄色成人av
|
神马福利视频
|
色哟哟入口国产精品
|
a天堂在线
|
国产黄色在线观看
|
亚洲一区二区国产精品
|
欧美一区二区三区成人
|
日韩中文视频
|
国产香蕉在线观看
|
午夜视频网站
|
久久免费看视频
|
黄视频在线播放
|
手机看片久久
|
亚洲高清在线视频
|
国产成人小视频
|