PIC16F690串口怎么也调不好

[复制链接]
2240|16
 楼主| zhanghqi 发表于 2021-9-12 12:00 | 显示全部楼层 |阅读模式
要发送数据并返回到串口助手显示
supernan 发表于 2021-9-12 12:02 | 显示全部楼层

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
lizye 发表于 2021-9-12 12:04 | 显示全部楼层
#include<pic.h>
#define uchar unsigned char
#define uint  unsigned int
__CONFIG(0x3B31);
void init();
//void delay(uint x);
void main()
{   
        init();
    //TRISA2=0;
        TXREG=1;
        while(!TRMT);

    while(1);

}
void init()
{   
        //TRISB5=1;//
   // TRISB7=0;
    TRISB=0XFF;
    PORTB=0XFF;
        TXSTA=0x24;
        RCSTA=0x90;
        SPBRG=71;
        GIE=1;
        PEIE=1;
        RCIE=1;
}

void interrupt com()
{
        if(RCIE&&RCIF)
        {   RCIF=0;
                TXREG=RCREG;
                while(!TRMT);
        TRMT=0;

        }
}
 楼主| zhanghqi 发表于 2021-9-12 12:07 | 显示全部楼层
   用串口助手发送并返回数据 期望各位大神指点
dengdc 发表于 2021-9-12 12:14 | 显示全部楼层
PIC没用过,不知道你的配置是否正确,但是请先测试你的串口接收中断是否可以进入,再测试串口发送函数是否正确,然后整体测试即可。
 楼主| zhanghqi 发表于 2021-9-12 12:16 | 显示全部楼层
我这只能发送不能接收不知啥原因?愁死
chuxh 发表于 2021-9-12 12:18 | 显示全部楼层
你解决了吗这个690真的费劲
llljh 发表于 2021-9-12 12:20 | 显示全部楼层
看下你的控制寄存器TXSTA,是否需要设置使能,是不是未使能状态
huangchui 发表于 2021-9-12 12:21 | 显示全部楼层
TXREG=RCREG;这个不太好,这两个寄存器值是根据读取,写入变化的,最好取出来再赋值
jiajs 发表于 2021-9-12 12:23 | 显示全部楼层
RX脚和模拟脚复用,要把RX脚通过相应的ANSEL寄存器设置为数字脚。
wyjie 发表于 2021-9-12 12:26 | 显示全部楼层
ANSEL=0;是这么设定的
chuxh 发表于 2021-9-12 12:28 | 显示全部楼层
TXSTA=0X24; 是这样的谢谢
pengf 发表于 2021-9-12 12:30 | 显示全部楼层
好象是找到问题了上电时进一次中断后面就不进了?啥问题?这个690真麻烦!
houcs 发表于 2021-9-12 12:31 | 显示全部楼层
RX和AN11复用,AN11是在ANSEL寄存器里设置的吗?
 楼主| zhanghqi 发表于 2021-9-12 12:34 | 显示全部楼层
还有个ANSELH你没看到吗?
juventus9554 发表于 2021-9-12 12:40 | 显示全部楼层
要把模拟输入关掉
 楼主| zhanghqi 发表于 2021-9-12 12:42 | 显示全部楼层

唉,还是没有什么结果,算了,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

11757

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部