问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

pic16f877a系列单片机串口接收中断屏蔽后,若外部有串口数据不断的发入,单片机会溢出出错吗!

发布网友 发布时间:2022-05-05 06:51

我来回答

2个回答

热心网友 时间:2023-10-13 21:08

各种通讯界面, 都会有溢出出错问题. 硬件设计上, 会提供Register状态判断, 以及错误处理控制bit, 如内部串口模块的reset. 实际如何处置, 需要详阅datasheet.
溢出出错是否要处理, 依据需求而定, 如果你根本不需要串口(屏蔽), 不去处理溢出出错也没关系. 如果还需要使用串口, 应该要注意如何将单片机的串口模块, 从恢复错误状态中恢复.
在基本的设计逻辑上, 会建议系统的规划, 应避免去屏蔽任何一个你需要的中断源. 当然, 如果你很清楚自己在做什麼, 有特殊考量, 也不是不可以的.
ps. 部分单片机的内部模块, 具备各自独立的电源控制, 如不需要, 也可以考虑关闭其电源. 在电池系统中, 这部分会比较注意. (模块没有电源, 有没有持续输入就无差别, 启动时同reset)

热心网友 时间:2023-10-13 21:08

_CONFIG(HS&WDTDIS&LVPDIS);

bank1 unsigned char b[20]; //数据缓存区,用于存放手机号
unsigned char sflag;

void delay_sms(unsigned char n) //延时程序
{
unsigned int d=1000;
for(;n>0;n--)
{
d=1000;
do{;}while(--d);
}
}
void delay(unsigned int n)
{
unsigned int j;
char k;
for(j=0;j<n;j++)
for(k=2;k>0;k--) NOP();
}
void delay_int(unsigned int n)
{
unsigned int j;
char k;
for(j=0;j<n;j++)
for(k=246;k>0;k--)NOP();
}

void USART_RC_init() //接收SIM900A的手机号初始设置
{
SPBRG=25; //高速模式 波特率9600 4M晶振
TXSTA=0X24;
RCSTA=0X90;
RC6=0X0; //RC6为输出端口TX
RC7=0X1; //RC7为输入端口RX
RCIE=1; //串行接收中断使能
PEIE=1; //外设中断允许,TMR2属于外设中断范围

GIE=1; //开全局中断
}

void interrupt ISR(void) //PIC单片机的所有中断都是这一个入口
{
//***此处用户自行添加定时器中断处理程序***

if(RCIF&&RCIE)
{
unsigned char i=0;
while(i<20)
{
b[i++]=RCREG; //读接收数据,实际上会自动将RCIF清0
delay(51);
}

//RCIF=0;该语句起不到跳出中断的作用

//去掉a的判断条件后,RCIF才能自动清零,否则不断循环,中断出不去

RC1=1;
delay_int(500);
RC1=0;
sflag=1;
//RCIE=0;//跳出判断语句RCIF&&RCIE,注释掉该句话后,灯不再闪两下

}
RC2=1;
delay_int(500);
RC2=0;
}

void main(void) //主函数,单片机开机后就是从这个函数开始运行
{
TRISC=0B11111000; //初始化RC0的输出
RC0=0;
RC1=0;
RC2=0;
USART_RC_init(); //接收SIM900A的手机号初始设置

while(1) //死循环,单片机初始化后,将一直运行这个死循环
{

if(sflag==1)
{
RC0=1;
delay_int(500);
RC0=0;
sflag=0;
//RCIF=0;
//RCIE=1;
USART_RC_init();
}

}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“定是李八百”的出处是哪里 李八百六种说法 李仙指道教传说中仙人 李八百 学习劈叉,每次静压压腿多久 六哥救的叫花子是谁的孩子 大智慧江恩三日图源码,找了无数公式,想在大智慧里用 ,一直没找到_百度... 测试类工具有哪些 服务器压力测试需要用的8种工具 8岁的小孩能玩什么游戏8岁男童和父母玩些什么互动游戏 摩尔庄园手游冲浪板凯文在哪里现在摩尔庄园凯文在哪 头皮屑真多怎么办? 求单片机的。用PIC16f877设计可调速流水灯的电路图及程序,拜托了 头屑太多怎么办呢? PIC16F874 PIC16F877 区别 PIC16F877单片机如何实现定时开机和定时关机? 单片机 PIC16F877 电饼铛哪个牌子好= 新的一年的句子 适合新的一年第二天发圈的句子 祝新的一年开始的句子 新娘妆怎样选择?需注意哪些问题? 选择新娘跟妆时要注意什么 新娘跟妆有哪些细节 新娘跟妆需注意细节 作为一名化妆师,试妆的时候该如何跟顾客沟通,该说些什么,才能不冷场。 很多人都是专柜免费试妆,柜姐真的会给化妆吗? 关于结婚前试妆该定在什么时候更合适 结婚试妆要注意哪些 婚纱试妆需要注意什么 手机屏幕裂出来了怎么办?可以粘好吗? 卫衣男搭配什么裤子好看 PIC16F877单片机的5个端口RA~RE各具什么特色?分别适用于什么场合? PIC16F877A单片机 我不想使用外部的石英晶振,怎样设置使用内部振荡器让单片机跑起来呢? 用PIC16F877单片机时不用的引脚应该怎么处理亚,悬空么 一品焖锅和黄记煌三汁焖锅哪个比较好吃 aoc m2060swd显示器怎么样?优缺点速答。 求惠普hp m1522nf打印机的驱动……… 黄记煌焖锅的酱汁非常好吃,在家怎么自己调制? 绿源电动车的电机号是SWDX C48430LYBHM01436,请问能查出它的车架号吗? 仙剑奇侠传四剧情宝典 50多M的那个 能不能发我一个 wjswd123@163.com 谢了 冠捷m2060swd和i2080sw哪个好 AOC M2060SWD和AOC E970SWN 一品焖锅(燕郊永旺店)的五花肉好不好吃 吴昕代言的瘦身霜有用吗 峰蜜和醋放在一起喝有什么好处 phpcms中怎么上传视频 在phpcms内容管理模块中 添加内容时怎么上传视频到自己的服务器呢 phpcms如何在首页上添加视频模块 问一个关于PHPCMS视频模块的视频上传问题 phpcms怎么添加网络视频 phpcms https 文件上传