PIC18F25K22发送

2019-03-25 18:56发布

这是我写的一个简单的串口程序,用串口助手发数 ,当芯片收到数以后再把它发送出来
#define uint unsigned int
#define uchar unsigned char
uchar Rec1Data;
void uart_init()
{
  TRISC=0XD0;
  TXSTA1&=0X8f;           //    (6)8位数据0,(5)禁止发送0,(4)异步模式0;
  TXSTA1|=0X04;           //    (2)高速,
  RCSTA1|=0x90;           //    (7)使能串口1;(4)使能接受1
  RCSTA1&=0xBF;           //    (6)8位接受0;            
  TXSTA1bits.TXEN=1;      //     使能 发送
  TXSTA1bits.TRMT=1;      //     发送器为空
  BAUDCON1=0x48; //   接收操作处于空闲状态,16 位波特率发生器——SPBR启动看门狗 GH 和SPBRG
  SPBRGH1=0;
  SPBRG1=34;   //  波特率为115200;
}

void write_dis(uchar write1_data)
{  
    TXREG1=write1_data;
    while(!TXSTA1bits.TRMT);

}
void main ()
{
uart_init();
while(1)
{

if(PIR1bits.RC1IF)
{
//  PIR1bits.RC1IF=0;
  Rec1Data=RCREG1;
  write_dis(Rec1Data);
}
}
}

但是发数之后没有再发送出来
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
dcexpert
1楼-- · 2019-03-26 00:07
看起来是串口设置问题,好久没有用了,记得不是太清楚了,你试试code configurator,可以快速生成初始化代码。

ptoteus8支持这个芯片,直接仿真效果不错。
shimingyan1992
2楼-- · 2019-03-26 05:57
 精彩回答 2  元偷偷看……
dcexpert
3楼-- · 2019-03-26 09:52
shimingyan1992 发表于 2016-11-25 08:29
是接收口的设置吗  我的发送口没有问题 能正常发数    protues能仿真吗

可以。建议开始的时候多试试code configurator,后面在自己修改,可以节约一点时间。
shimingyan1992
4楼-- · 2019-03-26 14:38
dcexpert 发表于 2016-11-25 09:45
可以。建议开始的时候多试试code configurator,后面在自己修改,可以节约一点时间。

code configurator 我没有用过 是MPLAB 自带的仿真器吗  看寄存器值?
dcexpert
5楼-- · 2019-03-26 15:12
shimingyan1992 发表于 2016-11-25 10:15
code configurator 我没有用过 是MPLAB 自带的仿真器吗  看寄存器值?

MPLAB X IDE的新软件模块,自动配置外设,产生代码。
shimingyan1992
6楼-- · 2019-03-26 18:40
dcexpert 发表于 2016-11-25 11:13
MPLAB X IDE的新软件模块,自动配置外设,产生代码。

QQ截图20161125112535.png

一周热门 更多>