Pic16f1828 1829串口收发

2024-04-28 15:48
文章标签 串口 收发 1829 pic16f1828

本文主要是介绍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串口收发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/943645

相关文章

安卓开发板_联发科MTK开发评估套件串口调试

串口调试 如果正在进行lk(little kernel ) 或内核开发,USB 串口适配器( USB 转串口 TTL 适配器的简称)对于检查系统启动日志非常有用,特别是在没有图形桌面显示的情况下。 1.选购适配器 常用的许多 USB 转串口的适配器,按芯片来分,有以下几种: CH340PL2303CP2104FT232 一般来说,采用 CH340 芯片的适配器,性能比较稳定,价

VB和51单片机串口通信讲解(只针对VB部分)

标记:该篇文章全部搬自如下网址:http://www.crystalradio.cn/thread-321839-1-1.html,谢谢啦            里面关于中文接收的部分,大家可以好好学习下,题主也在研究中................... Commport;设置或返回串口号。 SettingS:以字符串的形式设置或返回串口通信参数。 Portopen:设置或返回串口

java RXTXcomm 串口通信

RXTXcomm:提供了 Windows x64, x86, ia64 and Linux x86, x86_64等操作系统支持。 下载地址 http://fizzed.com/oss/rxtx-for-java 使用RXTXcomm首先要安排JRE环境,开发IED可能eclipse. 1.下载系统相应的RXTXcomm。 2.将rxtxSerial.dll、rxtxParallel.dl

Nodejs 串口通信 : websocket , serialport

最近在学习如何实现web页面和串口间通信,网页请求使用websocket,实现的基本功能如下: 1、基本需求:硬件:有两个信号灯(TLA-505-1T),一个485继电器(开关),电压转换器,工业触屏一体机。 2、原理图:                  3工作原理: 首先一体机中采用node开发服务器,网页请求采用websocket协议,直接放代码了: var express

C# WPF燃气报警器记录读取串口工具

C# WPF燃气报警器记录读取串口工具 概要串口帧数据布局文件代码文件运行效果源码下载 概要 符合国标文件《GB+15322.2-2019.pdf》串口通信协议定义;可读取燃气报警器家用版设备历史记录信息等信息; 串口帧数据 串口通信如何确定一帧数据接收完成是个麻烦事,本文采用最后一次数据接收完成后再过多少毫秒认为一帧数据接收完成,开始解析出来。每次接收到数据更新一次re

Linux是如何收发网络包的

Linux网 络协议栈 从上述⽹络协议栈,可以看出: 收发流程 ⽹卡是计算机⾥的⼀个硬件,专⻔负责接收和发送⽹络包,当⽹卡接收到⼀个⽹络包后,会通过 DMA 技术,将⽹络包放⼊到 Ring Buffer ,这个是⼀个环形缓冲区。 1 、发送 ⾸先,应⽤程序会调⽤ Socket 发送数据包的接⼝,由于这个是系统调⽤,所以会从⽤户态陷⼊到内核

ubuntu14下Arduino IDE无法打开串口的问题

ubuntu版本是14.04 LTS,arduino版本是1.8.1。使用arduino的串口工具时无法打开串口,串口是USB转的,用的cp2102 。 google了一下,发现可能是权限的问题,执行以下语句,即可解决: sudo chown username /dev/ttyUSB0将username改成自己的用户名就行了。

Android串口log的获取

常遇到无法开机的状况,这时由于Android还未起来,adb等均无法使用,此时有抓串口的必要。 1.命令安装 sudo apt-get updatesudo apt-get install minicom 2.安装完毕后,插入串口线,进入/dev/目录查看设备 图中红圈即插入串口后,新增的serial目录和ttyUSB0字符设备 其中serial目录中内容如下,均是指

智能家居系统(基于STM32F103C8T6标准库+FreeRTOS+Qt串口开发实现)

视频演示:基于STM32F103C8T6标准库+FreeRTOS+Qt串口开发实现的智能家居项目_哔哩哔哩_bilibili 基于STM32F103C8T6标准库+FreeRTOS+Qt串口开发实现的智能家居项目: https://pan.baidu.com/s/1f41gAfOOnlcQoKoMx3o84A?pwd=6j2g 提取码: 6j2g  注:本项目为学习完《江科大STM32教

Xilinx系FPGA学习笔记(四)VIO、ISSP(Altera)及串口学习

系列文章目录 文章目录 系列文章目录VIO(Vivado)ISSP(Altera)串口学习FPGA串口发送FPGA串口接收 VIO(Vivado) VIO 的全称叫 Virtual Input/Output,建立一个虚拟的输入/输出信号,可以对需要调试的模块的输出信号的数值进行在线的查看,以及模拟一些信号输给需要调试模块,方便调试查找问题和验证模块的实际上板工作的正确