如何用pic单片机写利用串口调试程序给单片机发送数据再反读回给电脑显示

如何用pic单片机写利用串口调试程序给单片机发送数据再反读回给电脑显示,第1张

#include<pic.h>//利用串口调试程序给单片机发送数据再反读回给电脑显示,接收用中断法,发送不用

#define uchar unsigned char//宏定义

#define uint unsigned int

__CONFIG(0x3b31)//设置配置位

void init()

void main()

{

init()

TXREG=0x31//发送寄存器发送0x31对应的’叫什么码的‘就是1这一步是指一上电或复位时会先发送一个数检验是否有发送及接收

while(!TRMT)//判断TRMT是否自动置1,如果为1则说明发传送完毕,取反退出if循环

while(1)//停在此等待电脑给单片机发送数据

}

void init()

{

TRISC=0xff//注意这里一定要设置RC端口为输入状态,输入是一个高阻态如果设为输出则会不停地发送

//当设置了串口模式后会自动输出输入,不用理会其值

TXSTA=0x24//设置发送状态寄存器选择异步串口传输和高速波特率

RCSTA=0x90//设置接收状态寄存器选择8位传输

SPBRG=25//写十进制或十六进制都可以,设置x的值是25则波特率为9600

GIE=1//开总中断

PEIE=1//开外设中断

RCIE=1//接收中断使能置1,因为接收用中断法,发送不用

}

void interrupt com()

{

if(RCIE&&RCIF)//如果串行接收使能为1允许并且标志为1置位溢出,则要把接收到的数据发送走,或者直接判断RCIF标志位if(RCIF==1)也可以

{

TXREG=RCREG//要把接收到寄存器的数据附给发送寄存器

while(!TRMT)//判断TRMT是否自动置1,如果为1则说明发传送完毕,取反退出if循环

}

}

你是通过USB转串口线接收PIC串口数据的是把.这种USB转串口线是让电脑模拟一个串口的. 不是真正的串口. 通信时候,数据是暂存在USB转串口线上转换芯片的缓冲区,如果你发的太多.就有可能会出现数据都挤在串口线中转换芯片里的缓冲区. 所以拔下来,电脑还能收到数据.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11158090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存