社区首页
技术讨论创新帖
全部新帖
资料区
社区活动
联系管理员
★ 社区积分制度
★ 新手必读
★ 申请版主★
请
登录
后使用快捷导航
没有帐号?
注册
首页
|
电子技术
|
嵌入式
模拟电子
单片机
电源管理
传感器
半导体
电子应用
|
工业控制
物联网
汽车电子
网络通信
医疗电子
手机便携
测试测量
安防电子
家用电子
机器人
新能源
电子头条
|
社区
|
论坛
测评
博客
大学堂
|
下载
|
下载中心
电路图
精品文集
电路图
|
参考设计
|
Datasheet
|
活动
|
直播
datasheet
datasheet
文章
搜索
登录
注册
中文
En
论坛
切换旧版
电子工程世界-论坛
»
论坛
›
电子技术交流
›
单片机
›
Microchip MCU
›
PIC16f1947 串口通讯异常
返回列表
发新帖
回复
阅
3875
|
回
2
TangChao
当前离线
一粒金砂(初级)
最后登录
2020-11-28
在线时间
5 小时
威望
0分
芯积分
0分
(兑换)
E金币
0枚
(兑换)
(兑换)
好友
0
TangChao
1
帖子
0
TA的资源
一粒金砂(初级)
+ 好友
私信
楼主
发表于2017-8-11 10:47
只看该作者
PIC16f1947 串口通讯异常
[复制链接]
您们好,最近我在做一个项目遇到一个串口异常问题,我用电脑连接的时候,串口通讯时间间隔10ms都是没有问题,最多出现乱码,因为是用485,乱码比较正常,停止10ms发送切换50ms能返回正常的数据。但是我多个单片机通讯的时候,总会有单片机串口崩溃现象,其他操作正常,就是串口没有数据反馈。在串口中断做了帧错误和溢出错误的处理。串口初始化代码
void uart_init(UINT8 brg)
{
TX2STA &= ~(0x01 << 4); //异步串口
//SYNC = 0; //异步串口
if(BRG_9600 == brg)
{
TX2STA &= ~(0x01 << 2); //低速波特率
//BRGH = 0; //低速波特率
BAUD2CON &= ~(0x01 << 3); //使用8位波特率发生器
//BRG16 = 0; //使用8位波特率发生器
SP2BRGL = 51;//9600波特率
}
else if(BRG_115200 == brg)
{
TX2STA |= (0x01 << 2); //高速波特率
//BRGH = 1; //高速波特率
BAUD2CON |= (0x01 << 3); //使用16位波特率发生器
//BRG16 = 1; //使用16位波特率发生器
SP2BRGL = 68;//115200波特率
SP2BRGH = 0;
}
else
{
TX2STA &= ~(0x01 << 2); //低速波特率
BAUD2CON &= ~(0x01 << 3); //使用8位波特率发生器
SP2BRGL = 51;//9600波特率
}
TRISG1 = 0; //IO配置 TX2
TRISG2 = 1; //IO配置 RX2
ANSG2 = 0; //必配
RC2STA |= (0x01 << 7); //使能串口
//SPEN = 1; //使能串口
TX2STA &= ~(0x01 << 6); //发送8位数据位
//TX9 = 0; //发送8位数据位
//CKTXP = 0; //发送数据极性 不翻转
RC2STA &= ~(0x01 << 6); //接收8位数据位
//RX9 = 0; //接收8位数据位
RC2STA |= (0x01 << 4); //使能接收
//CREN = 1; //使能接收
//RC2IF = 0;
RC2IE = 1; //接收使能
//PIE4 |= (0x01 << 5);
//INTCON |= (0x03 << 6);
RC2STAbits.CREN=1;//激活接收
PEIE = 1; //外设中断使能
GIE = 1; //总中断使能
//RC2STA &= ~(0x01 << 4); //使能接收
//RC2STA &= ~(0x01 << 7); //使能串口
//RC2STA |= (0x01 << 4); //使能接收
//RC2STA |= (0x01 << 7); //使能串口
}
复制代码
串口中断:
if (RC2IE && RC2IF)
{
// backlight_Dim(3);
// RC2IF = 0;
if(RC2STAbits.FERR)//监测是否有帧错误
{
err=RC2REG;
return;
}
if(RC2STAbits.OERR)
{
RC2STAbits.CREN=0;
RC2STAbits.CREN=1; //接收模块被复位重置,OERR清零
return;
}
//err = RC2STA & 0x04;
//err = FERR;
//RC2IF = 0;
ch = RC2REG;
if(RC2IF)
{
RC2IF = 0;
}
if(Ccnt > 25)
{
Ccnt = 0;
return;
}
if(ch == SOI0)
{
Ccnt = 0;
SOI_Flag = 1;
return;
}
if(SOI_Flag == 1) //检测是否是包头
{
SOI_Flag = 0;
if(ch == SOI1)
{
Recstatu = 1;
Ccnt = 0;
PackerFlag = 0;
return;
}
else
{
if(Recstatu == 1) //是否处于接收数据包状态
{
RxBuf[Ccnt++] = SOI0;
}
}
}
if(ch == EOI0)
{
EOI_Flag = 1;
return;
}
if(EOI_Flag == 1) //检测是否是包头
{
EOI_Flag = 0;
if(ch == EOI1) //检测是否是包尾
{
Recstatu = 0;
PackerFlag = 1; //用于告知系统已经接收到一个完整的数据包
GIE = 0;
return ;
}
else
{
if(Recstatu == 1) //是否处于接收数据包状态
{
RxBuf[Ccnt++] = EOI0;
}
}
}
if(Ccnt > 25)
{
Ccnt = 0;
return;
}
if(Recstatu == 1) //是否处于接收数据包状态
{
RxBuf[Ccnt++] = ch;
}
}
复制代码
PIC
此帖出自
Microchip MCU论坛
最新回复
751191958
没用过,不知道
详情
回复
发表于 2017-8-12 11:44
点赞
关注
(0)
回复
分享
扫一扫,分享给好友
复制链接分享
链接复制成功,分享给好友
举报
提升卡
变色卡
千斤顶
gs001588
gs001588
当前离线
纯净的硅(中级)
最后登录
2025-1-20
在线时间
1161 小时
威望
1162分
芯积分
2401分
(兑换)
E金币
1451枚
(兑换)
(兑换)
好友
3
664
帖子
104
TA的资源
纯净的硅(中级)
+ 好友
私信
沙发
发表于2017-8-11 17:38
只看该作者
多机通信,还是定好协议吧。
发帧头、指令类型、接收机地址、数据长度、数据、(校验)、帧尾。等回应。
要不然,早晚出事,现在问题出现的早,反而好些。
此帖出自
Microchip MCU论坛
回复
举报
751191958
751191958
当前离线
一粒金砂(初级)
最后登录
2022-3-16
在线时间
18 小时
威望
0分
芯积分
18分
(兑换)
E金币
0枚
(兑换)
(兑换)
好友
0
6
帖子
0
TA的资源
一粒金砂(初级)
+ 好友
私信
板凳
发表于2017-8-12 11:44
只看该作者
没用过,不知道
此帖出自
Microchip MCU论坛
回复
举报
返回列表
发新帖
回复
您需要登录后才可以回帖
登录
|
注册
发表回复
回帖后跳转到最后一页
活动
更多>>
Microchip 直播|多相降压电源控制技术的发展与探讨 报名中!
安世半导体智能工业应用探索站,闯关赢好礼!
PI 电源小课堂:集成式半桥驱动IC BridgeSwitch 2, 助力高效永磁同步电机逆变器的设计
Microchip喊你探索dsPIC33A 芯片,70份好礼等你赢!
【瓜分2500元红包】票选2024 DigiKey “感知万物,乐享生活”创意大赛人气作品TOP3!
DigiKey应用探索站重磅上线!潮流应用,硬核技术探秘,N多干货,一站get!
验证并选择心仪MOSFET,探寻选型奥秘!注册、体验双重好礼等你拿~
免费申请测评 | 泰坦触觉 TITAN Core开发套件
开源项目
更多>>
用于白色家电的 20 至 25W、12V 交流至直流单路输出电源
用于便携式的 5V DC 到 DC 单输出电源
LT1587CM-3.3 3.3V/3A 低压差稳压器的典型应用
NCP300HSN18T1 1.8V 电压检测器的典型应用,用于具有附加迟滞的微处理器复位电路
D-LED-B-GEVK,基于 NCV78763 的双 LED 镇流器屏蔽评估板
使用 Diodes Incorporated 的 AZ7027ZTR-E1 的参考设计
LT1172CS8、1.25A 外部限流器的典型应用
LTC1143 双通道 1.8V/3A 和 2.5V/2A 的典型应用电路,突发模式失败
LTC2908ITS8-A1、3.3V、2.5V、1.8V、1.2V四路电源监视器的典型应用电路
使用 Analog Devices 的 LTC1439EG 的参考设计
随便看看
读书活动入围名单:《ROS2智能机器人开发实践》
感谢网友关注《ROS2智能机器人开发实践》阅读活动,以下是入围网友信息。入围的网友请注意,请在2025年1月22日12:00前:(1)核对邮寄信息:点此查看您的论坛个人信息中姓名、电话、地址;(2)确认阅读计划:看下方您提交的阅读计划;(3)以上确认后,请跟 ...
【B-G431B-ESC1-无刷电机板】3-开环VF强拖
无线一体化改造!焦化四大车无线联锁再升级
毕业设计论文-单片机在红外遥控环境测量系统中的应用
锁相环原理
模拟电路设计的九重境界【转自QQ电子网】
SCI的多处理器模式中,cpu的匹配条件
求助:430单片机与ARM的SPI通信方案
查找数据手册?
搜索
EEWorld Datasheet 技术支持
热门标签
源代码
单片机
放大器
TI
ST
电源
分立器件
传感器
测试测量
模拟
微控制器的基本组成
全自动电容测试仪
高压信号发生器
阻容降压电路
动圈式扬声器
氧化还原电位
双极型晶体管
数模转换器
arm公司
互感
相关文章
更多>>
苹果M4 Mac mini曝出USB-C接口问题!随机间歇性断开连接
1月17日消息,苹果M4 Mac mini自2024年底发布以来,收获了不少好评,然而近期一些用户在使用过程中发现,该设备的USB-C接口似乎存在连接性问题,给使用带来了不便。 有用户反映M4 Ma
消息称 SK 海力士有望 2 月启动业界最先进 1c nm 制程 DRAM 内存量产
1 月 17 日消息,韩媒 MT(IT之家注:全称 MoneyToday)当地时间今日报道称,SK 海力士近日已成功完成内存业界最先进 1c 纳米制程 DRAM 的批量产品认证,连续多个以 25 块
未经同意出售用户数据,通用汽车遭美国 FTC 处罚
1 月 17 日消息,当地时间周四,美国联邦贸易委员会(FTC)宣布通用汽车及其子公司 OnStar 因未经用户同意出售用户位置和驾驶行为数据,因此将对其进行处罚,包括在五年内禁止向消费者报告机构披
日本三井住友银行推出半导体设备抵押贷款,铠侠已率先获益
联想宣布收购Infinidat,扩充高端企业存储业务
台积电董事长:我们不是美积电 最先进制程不会搬到美国
曝台积电拒绝代工三星Exynos处理器:理由是怕泄密
SK 海力士被曝上半年削减 10% NAND 闪存产量
苹果加入UALink联盟 成员含AMD、英特尔、谷歌等公司
英特尔宣布将逐渐停产第 12 代 Alder Lake 移动处理器,覆盖酷睿、奔腾及赛扬
新帖速递
STM32和无源蜂鸣器播放声音的问题
车规级AECQ200介绍,混合铝电解电容器的选择
嵌入式教程_DSP技术_DSP实验箱操作教程:2-28 搭建轻量级WEB服务器实验
OPA847IDBVR运放器国产替代
AG32VF407测试UART
【得捷电子Follow Me第二期】第一章 收到货物的分享
请问这个红外接收头是什么型号?能用哪个型号代替?谢谢
出售全新未拆封ZYNQ 7Z020 FPGA核心板
用在锂电池供电的水表设置上的LORA模块,当有100块水表集中安装在一个楼道内时,节能
请问一下,当某个端口被设置为 RX0后,这个端口的输入输出方向还有必要设置吗
今年怎么这么难,比疫情时还难,三十了面临失业好迷茫
请教稳压管测试问题
【小华HC32F448测评】关于小华半导体的UART中断发送和PRINTF构造和重定向
【BIGTREETECH PI开发板】 HDMI输出测试
【BIGTREETECH PI开发板】+08.音频测试(zmj)
安世半导体智能工业应用探索站,闯关赢好礼!
点击页面内“开始探索”按钮,填写并提交表单;
请根据序号依次完成3个安世半导体智能工业应用的探索,并根据给出的资料完成共计9题(每个应用3题),答对5题以上的玩家即可获得抽奖资格;
每人仅有一次参与答题的机会,请慎重作答,活动结束后,我们将抽取30位玩家赠送礼品。
查看 »
Microchip 直播|多相降压电源控制技术的发展与探讨 报名中!
直播主题:多相降压电源控制技术的发展与探讨
直播时间:2025年2月25日(星期二)上午10:30-11:30
快来报名!
查看 »
回帖赢好礼 | 关于无线技术的那些事儿
【活动时间】即日起—2025年1月31日
【活动好礼】50元京东卡
查看 »
答题赢好礼,PI电源小课堂第3期来啦!
本期内容:集成式半桥驱动IC BridgeSwitch 2, 助力高效永磁同步电机逆变器的设计
活动时间:即日起-2月28日
看视频答题即可赢取京东卡!
查看 »
Microchip喊你探索 dsPIC33A 芯片,70份好礼等你赢!
活动时间:即日起-1月26日
活动奖励:随身Wi-Fi、家用多功能电烤箱、20000mAh充电宝、50元京东卡
查看 »
DigiKey应用探索站重磅上线!潮流应用,硬核技术探秘,N多干货,一站get!
当月好物、热门技术资源、潮流应用技术、特色活动、DigiKey在线实用工具,干货多多~
查看 »
本周精选下载推荐:电源管理基础Dummies
本周小编给大家带来一本超简单、超干货的电子书——《电源管理基础Dummies》!内容深入浅出,排版舒服简洁,分分钟能get到电源管理最核心的知识内容。
查看 »
下载资料赢好礼!看Vicor模块化电源解决方案如何推动创新
活动时间:即日起-2024年12月31日
如何参与:点击活动页内您想了解的模块,找到资料下载即可参与抽奖,活动结束后统一发奖!
查看 »
关闭
站长推荐
1
/8
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
电信业务审批[2006]字第258号函
京公网安备 11010802033920号
Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复
返回顶部
返回列表
论坛首页
版块列表
专业技术中心
TI技术论坛
ST传感器与低功耗无线技术论坛
ADI参考电路
DigiKey得捷技术专区
ADI · 世健工业技术
电子技术交流
嵌入式系统
单片机
国产芯片交流
电机驱动控制
FPGA/CPLD
模拟电子
电源技术
PCB技术
RF/无线
传感器
综合技术交流
下载中心专版
大学堂专版
测评中心专版
创意与实践
电子竞赛
DIY/开源硬件专区
淘e淘
创意市集
行业应用
汽车电子
移动便携
医疗电子
工控电子
安防电子
休息一下
聊聊、笑笑、闹闹
工作这点儿事
为我们提意见&公告
EEWorld颁奖专区
信息发布
最新帖子
最新帖子
最新回复
精华
消灭零回复
测评中心
活动中心
积分兑换
E金币兑换
芯积分
厂商专区
TI技术论坛
ST传感器与低功耗无线技术论坛