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

[复制链接]
1319|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

粉丝