打印
[PIC32/SAM]

小白自学pic24fj,遇到问题求大神指导。急急急!!!

[复制链接]
1690|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cr315|  楼主 | 2021-9-2 11:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自己刚入门PIC24fj256ga108的单片机,我写了程序,控制8个继电器分别导通电路的,但是程序烧写到单片机中,无法使电路按照我要求导通。大神们看一下,是不是我程序出问题了。顺便麻烦看一下我是不是串口写错了,串口调试的时候没有反应。麻烦大神看一下我的工程文件有什么问题吗
#include
#include"serial.h"
unsigned char RxData;//这个数是从串口收到数据,可以判断这个数据,来决定开哪一个继电器
int main()
{
TRISB = 0x0000;
     TRISC = 0X0000;
TRISD = 0x0000;
UART_Init();
while(1)
{   if(RxData==1)
        {PORTB = 0xCDFF;
   PORTD = 0xFFFF;
         PORTC = 0xFFFF;
}                     
       else if(RxData==2)
       { PORTB = 0xADFF;
   PORTD = 0xFFFF;
         PORTC = 0xFFFF;
       }
      else if(RxData==3)
      {PORTB = 0xF5FF;
      PORTD = 0xFFFF;
         PORTC = 0xEFFF;
                         }
    else if(RxData==4)
    { PORTB = 0xF5FF;
   PORTD = 0xEFFF;
         PORTC = 0xFFFF;
                         }
        else if(RxData==5)
    { PORTB = 0xBBFF;
   PORTD = 0xF7FF;
         PORTC = 0xFFFF;}
       else if(RxData==6)
    { PORTB = 0xBBFF;
      PORTD = 0xFFFB;
         PORTC = 0xFFFF;}
         else if(RxData==7)
     {PORTB = 0xFBFF;
   PORTD = 0xDFFF;
         PORTC = 0xFFFE;}
         else if(RxData==8)
       { PORTB = 0xFBFF;
   PORTD = 0xDFFF;
         PORTC = 0xFFFD;}
}   
}

下面是串口程序
#include
#include"serial.h"
void UART_Init(void)
{
TRISFbits.TRISF3=0;  
TRISFbits.TRISF2=1;  
U1STA=0x0400; //对发送机使能并对错误标志位清零,接受或者收到一个字符即产生//中断   
U1MODE=0x8000; //允许串行口工作使能且设置BREGH=0模式 、8位数据无奇偶校验、一位停止位  
U1BRG=50; //8M晶振且波特率设置为9600时,U1BRG设置值为51  
IFS0bits.U1TXIF=0;  
IFS0bits.U1RXIF=0;  
IEC0bits.U1TXIE=1; //允许串行通讯发送中断使能  
IEC0bits.U1RXIE=1;//允许串行通信接受中断
}
void __attribute__((interrupt))_U1RXInterrupt(void)
{   
IFS0bits.U1RXIF=0;  
RxData=U1RXREG;   
}

使用特权

评论回复
沙发
onlycook| | 2021-9-2 11:15 | 只看该作者

输出使用LATx寄存器,而不是PORTx。

使用特权

评论回复
板凳
内政奇才| | 2021-9-2 11:16 | 只看该作者
不只配置位一处有问题,工程设置完全不对呀。还是用MPLAB X IDE吧

使用特权

评论回复
地板
麻花油条| | 2021-9-2 11:17 | 只看该作者

我这个程序用了从配置来说用了内部8M RC,指令时钟也是8M,波特率时钟即为4M。波特率设置寄存器 25

使用特权

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

本版积分规则

1339

主题

3897

帖子

0

粉丝