Pic16f1828 1829串口收发
#include<PIC.h>
// PIC16f1828 / PIC16f1828 8M
unsigned char error=0x00;
bit Q=0;
unsigned data;
void interrupt isr(void) // 中断函数
{
unsigned char Temp;
if(RCIF&&RCIE)
{
Q = 1;
while(FERR) {error=RCREG; Q=0;};
while(OERR) { CREN=0 ; CREN=1 ; error=RCREG; Q=0;}
TXREG = RCREG; //收到的数据立马进行回显
}
}
void Uart_init() //UART初始
{
// SCS FOSC; SPLLEN disabled; IRCF 8MHz_HF;
OSCCON = 0x70;
// LFIOFR disabled; HFIOFL not2percent_acc; OSTS intosc; PLLR disabled; HFIOFS not0.5percent_acc; HFIOFR disabled; MFIOFR disabled; T1OSCR disabled;
OSCSTAT = 0x00;
// TUN 0x0;
OSCTUNE = 0x00;
// Set the secondary oscillator
#ifndef USE_DEAFULT_TX
APFCON0bits.TXCKSEL = 1; //TX引脚使用1 = RC4 ------- 第二功能管脚
TRISCbits .TRISC4 = 0;
#else
APFCON0bits.TXCKSEL = 0; //TX引脚使用1 = RB7 --------原来的LED-FULL
TRISBbits .TRISB7 = 0;
#endif
#ifdef USE_DEAFULT_RX
APFCON0bits.RXDTSEL = 0; //RX引脚使用0 = RB5
TRISBbits .TRISB5 = 1;
ANSELBbits.ANSB5 = 0; ; //关闭RB5的模拟输入功能
#else
APFCON0bits.RXDTSEL = 1; //RX引脚使用0 = RC5 第二功能管脚
TRISCbits .TRISC5 = 1;
//ANSELCbits.ANSC5 = 0; ; //关闭RB5的模拟输入功能
#endif
//8mhz晶体 波特率设置, datasheet里面有线程的参数表格
SPBRG=51;//?9600,8M??
BRGH=1; //
SYNC=0;
SPEN=1; //串口使能
TXEN=1; //USART 发送使能
TXIE=0; //关发送中断
RCIE=1; //开接收中断
CREN=1; //接收允许
PEIE = 1; //开外围设备中断
GIE = 1;
}
void main()
{
Uart_init();
while(1){}
}
Pic16f1828 1829串口收发相关推荐
- 基于Atmega8单片机的串口收发程序
Atmega8出厂默认的内部时钟频率是1Mhz,做串口收发时波特率最高设置为4800,设置为9600会乱码,提高时钟频率才能将波特率提高. #include <avr/io.h> #inc ...
- 搭建串口收发与存储双口RAM简易应用系统
搭建串口收发与存储双口RAM简易应用系统 为了实现通过串口发送数据到 FPGA 中, FPGA 接收到数据后将数据存储在双口 ram 的 一段连续空间中,当需要时,按下按键 S0,则 FPGA 将 R ...
- MTK:UART串口收发数据
MTK之UART串口收发数据 转:https://blog.csdn.net/ivy_reny/article/details/51192110 寄存器 UARTn_RBR: Rx Buffer Re ...
- qt 串口粘包_用Qt 5写一个串口收发桌面工具
今天用Qt写了一个串口收发工具,记录下整个流程. 1.项目工程布局 2.ui文件布局 3.widget.h文件 #ifndef WIDGET_H #define WIDGET_H #include # ...
- GD32F4xx串口收发,DMA+空闲中断
GD32F4xx系列的串口收发DMA+空闲中断基础配置:(这里主要是以DMA+空闲中断为例) 原理就不赘述了,网上资料很多,这里直接进行配置和测试. 1,首先添加GD32F4xx的dma外设库函数文件 ...
- FPGA串口收发(四):接收数据并转发,间隔时间发送
FPGA串口收发(四):接收数据并转发,间隔时间发送 // Description: 串口收发:串口接收数据,内部生成数据,串口间隔特定时间发送数据 // 串口接收数据:串行信号线 1101_1000 ...
- 【嵌入式】——串口实验——实现芯片串口收发数据,按键中断串口发送数据,串口接收数据中断来控制LED亮/灭
实验目的: 实现芯片串口收发数据,按键中断串口发送数据:按下按键,向串口发送数据,并通过虚拟终端显示出来: 串口接收数据中断来控制LED亮/灭:通过串口助手向MCU发送数据,"A" ...
- QT5系列教程二---基于qcustomplot的QT5 GUI串口收发绘图软件实现
QT5系列教程二---基于qcustomplot的QT5 GUI串口收发绘图软件实现 结构 UI部分 代码部分 step1:实现串口数据接受 串口接受数据格式 在`.pro`文件中添加`serialp ...
- linux下c的串口收发
linux下c的串口收发录 转自: https://blog.csdn.net/weixin_41471318/article/details/116230465 文章目录 linux下c的串口收发录 ...
最新文章
- 10 年 bloger 教你如何优雅玩转博客!
- 关于运行robot framework 报错解决方法,ModuleNotFoundError: No module named 'robot'
- Linux下Python基础调试
- Java实现获取HDFS子目录数量_Java实现读取HDFS目录
- Echo Socket例子项目
- 查看论坛隐藏链接_软连接与硬链接的区别
- OSPF Packet Details
- mysql把两个查询的结果合并为一个结果
- oracle 测试sql执行时间_从 TPCH 测试学习性能优化技巧
- layui 自定义request_layuiAdmin pro v1.x 【单页版】开发者文档
- Unity3D AssetStore下载文件/项目保存位置
- 【java期末复习题】第15章 JDBC数据库编程
- OCR 识别翻译图片中的文字:iText for Mac
- html 批量pdf 打印,html转pdf打印
- 傅连仲主编的《计算机应用基础》,学生教学论文,关于计算机应用基础课程标准研读的必要性相关参考文献资料-免费论文范文...
- net小区物业管理系统源码
- 我的微信被限制使用了!
- 计算机网络三级证书含金量,【热点】计算机三级证书有用吗,计算机三级证书含金量如何...
- 示波器测量i2c信号实例
- 【PDF报表】Jasperreports+jaspersoft studio快速入门