PIC16F690串口怎么也调不好 要发送数据并返回到串口助手显示

[复制链接]
1902|12
 楼主| jiaweikeji 发表于 2018-4-5 19:50 | 显示全部楼层 |阅读模式
#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;

        }
}

 楼主| jiaweikeji 发表于 2018-4-5 19:52 | 显示全部楼层
   用串口助手发送并返回数据 期望各位大神指点
xyz549040622 发表于 2018-4-6 06:56 | 显示全部楼层
PIC没用过,不知道你的配置是否正确,但是请先测试你的串口接收中断是否可以进入,再测试串口发送函数是否正确,然后整体测试即可。
tcdyc 发表于 2020-4-23 07:52 | 显示全部楼层
我这只能发送不能接收不知啥原因?愁死
tcdyc 发表于 2020-4-23 07:53 | 显示全部楼层
你解决了吗这个690真的费劲
18785027217 发表于 2020-4-23 09:54 | 显示全部楼层
看下你的控制寄存器TXSTA,是否需要设置使能,是不是未使能状态。TXREG=RCREG;这个不太好,这两个寄存器值是根据读取,写入变化的,最好取出来再赋值
ynwa 发表于 2020-4-23 10:21 | 显示全部楼层
RX脚和模拟脚复用,要把RX脚通过相应的ANSEL寄存器设置为数字脚。
tcdyc 发表于 2020-4-24 09:19 | 显示全部楼层
ynwa 发表于 2020-4-23 10:21
RX脚和模拟脚复用,要把RX脚通过相应的ANSEL寄存器设置为数字脚。

ANSEL=0;是这么设定的
tcdyc 发表于 2020-4-24 09:20 | 显示全部楼层
18785027217 发表于 2020-4-23 09:54
看下你的控制寄存器TXSTA,是否需要设置使能,是不是未使能状态。TXREG=RCREG;这个不太好,这两个寄存器值 ...

TXSTA=0X24; 是这样的谢谢
tcdyc 发表于 2020-4-24 09:22 | 显示全部楼层
本帖最后由 tcdyc 于 2020-4-24 09:38 编辑

好象是找到问题了上电时进一次中断后面就不进了?啥问题?这个690真麻烦!
ynwa 发表于 2020-4-24 11:43 | 显示全部楼层
tcdyc 发表于 2020-4-24 09:19
ANSEL=0;是这么设定的

RX和AN11复用,AN11是在ANSEL寄存器里设置的吗?还有个ANSELH你没看到吗?
wziyi 发表于 2020-4-25 13:14 | 显示全部楼层
要把模拟输入关掉
robertbati 发表于 2020-4-30 11:18 | 显示全部楼层
https://www.chipon-ic.com/upload/file/20200424/91de9d5f-240b-4126-a95f-6d939db7c219.pdf

完美替换690
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

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