#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串口收发相关推荐

  1. 基于Atmega8单片机的串口收发程序

    Atmega8出厂默认的内部时钟频率是1Mhz,做串口收发时波特率最高设置为4800,设置为9600会乱码,提高时钟频率才能将波特率提高. #include <avr/io.h> #inc ...

  2. 搭建串口收发与存储双口RAM简易应用系统

    搭建串口收发与存储双口RAM简易应用系统 为了实现通过串口发送数据到 FPGA 中, FPGA 接收到数据后将数据存储在双口 ram 的 一段连续空间中,当需要时,按下按键 S0,则 FPGA 将 R ...

  3. MTK:UART串口收发数据

    MTK之UART串口收发数据 转:https://blog.csdn.net/ivy_reny/article/details/51192110 寄存器 UARTn_RBR: Rx Buffer Re ...

  4. qt 串口粘包_用Qt 5写一个串口收发桌面工具

    今天用Qt写了一个串口收发工具,记录下整个流程. 1.项目工程布局 2.ui文件布局 3.widget.h文件 #ifndef WIDGET_H #define WIDGET_H #include # ...

  5. GD32F4xx串口收发,DMA+空闲中断

    GD32F4xx系列的串口收发DMA+空闲中断基础配置:(这里主要是以DMA+空闲中断为例) 原理就不赘述了,网上资料很多,这里直接进行配置和测试. 1,首先添加GD32F4xx的dma外设库函数文件 ...

  6. FPGA串口收发(四):接收数据并转发,间隔时间发送

    FPGA串口收发(四):接收数据并转发,间隔时间发送 // Description: 串口收发:串口接收数据,内部生成数据,串口间隔特定时间发送数据 // 串口接收数据:串行信号线 1101_1000 ...

  7. 【嵌入式】——串口实验——实现芯片串口收发数据,按键中断串口发送数据,串口接收数据中断来控制LED亮/灭

    实验目的: 实现芯片串口收发数据,按键中断串口发送数据:按下按键,向串口发送数据,并通过虚拟终端显示出来: 串口接收数据中断来控制LED亮/灭:通过串口助手向MCU发送数据,"A" ...

  8. QT5系列教程二---基于qcustomplot的QT5 GUI串口收发绘图软件实现

    QT5系列教程二---基于qcustomplot的QT5 GUI串口收发绘图软件实现 结构 UI部分 代码部分 step1:实现串口数据接受 串口接受数据格式 在`.pro`文件中添加`serialp ...

  9. linux下c的串口收发

    linux下c的串口收发录 转自: https://blog.csdn.net/weixin_41471318/article/details/116230465 文章目录 linux下c的串口收发录 ...

最新文章

  1. 10 年 bloger 教你如何优雅玩转博客!
  2. 关于运行robot framework 报错解决方法,ModuleNotFoundError: No module named 'robot'
  3. Linux下Python基础调试
  4. Java实现获取HDFS子目录数量_Java实现读取HDFS目录
  5. Echo Socket例子项目
  6. 查看论坛隐藏链接_软连接与硬链接的区别
  7. OSPF Packet Details
  8. mysql把两个查询的结果合并为一个结果
  9. oracle 测试sql执行时间_从 TPCH 测试学习性能优化技巧
  10. layui 自定义request_layuiAdmin pro v1.x 【单页版】开发者文档
  11. Unity3D AssetStore下载文件/项目保存位置
  12. 【java期末复习题】第15章 JDBC数据库编程
  13. OCR 识别翻译图片中的文字:iText for Mac
  14. html 批量pdf 打印,html转pdf打印
  15. 傅连仲主编的《计算机应用基础》,学生教学论文,关于计算机应用基础课程标准研读的必要性相关参考文献资料-免费论文范文...
  16. net小区物业管理系统源码
  17. 我的微信被限制使用了!
  18. 计算机网络三级证书含金量,【热点】计算机三级证书有用吗,计算机三级证书含金量如何...
  19. 示波器测量i2c信号实例
  20. 【PDF报表】Jasperreports+jaspersoft studio快速入门

热门文章

  1. 新视野大学英语第三版第二册视听说答案
  2. 鹰眼轨迹android,鹰眼轨迹服务
  3. android单手操作系统,生命不息,折腾不止:在 Android 上自制单手模式
  4. spark插件入门完整版本
  5. PDF的加密解密,解密后随便怎么玩
  6. 微信小程序-购物车数字加减
  7. Docker遇到的一些问题
  8. IDEA settings.xml 阿里云配置备份
  9. 电源管理ISL95869HRTZ、ISL95808HRZ概述、规格和应用
  10. 在vue项目中设置网站图标