打印

PIC16F690串口怎么也调不好

[复制链接]
1875|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 | 只看该作者
   用串口助手发送并返回数据 期望各位大神指点

使用特权

评论回复
5
dengdc| | 2021-9-12 12:14 | 只看该作者
PIC没用过,不知道你的配置是否正确,但是请先测试你的串口接收中断是否可以进入,再测试串口发送函数是否正确,然后整体测试即可。

使用特权

评论回复
6
zhanghqi|  楼主 | 2021-9-12 12:16 | 只看该作者
我这只能发送不能接收不知啥原因?愁死

使用特权

评论回复
7
chuxh| | 2021-9-12 12:18 | 只看该作者
你解决了吗这个690真的费劲

使用特权

评论回复
8
llljh| | 2021-9-12 12:20 | 只看该作者
看下你的控制寄存器TXSTA,是否需要设置使能,是不是未使能状态

使用特权

评论回复
9
huangchui| | 2021-9-12 12:21 | 只看该作者
TXREG=RCREG;这个不太好,这两个寄存器值是根据读取,写入变化的,最好取出来再赋值

使用特权

评论回复
10
jiajs| | 2021-9-12 12:23 | 只看该作者
RX脚和模拟脚复用,要把RX脚通过相应的ANSEL寄存器设置为数字脚。

使用特权

评论回复
11
wyjie| | 2021-9-12 12:26 | 只看该作者
ANSEL=0;是这么设定的

使用特权

评论回复
12
chuxh| | 2021-9-12 12:28 | 只看该作者
TXSTA=0X24; 是这样的谢谢

使用特权

评论回复
13
pengf| | 2021-9-12 12:30 | 只看该作者
好象是找到问题了上电时进一次中断后面就不进了?啥问题?这个690真麻烦!

使用特权

评论回复
14
houcs| | 2021-9-12 12:31 | 只看该作者
RX和AN11复用,AN11是在ANSEL寄存器里设置的吗?

使用特权

评论回复
15
zhanghqi|  楼主 | 2021-9-12 12:34 | 只看该作者
还有个ANSELH你没看到吗?

使用特权

评论回复
16
juventus9554| | 2021-9-12 12:40 | 只看该作者
要把模拟输入关掉

使用特权

评论回复
17
zhanghqi|  楼主 | 2021-9-12 12:42 | 只看该作者

唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

11757

帖子

5

粉丝