|
我昨天修改了一下,程序思路是把电脑发送的数据存到dat1变量里,由单片机GPIO的DATA寄存器比较dat1里的数据来改变引脚p1.10、p0.6、p0.8的电平来实现点灯和控制电机,现在出现了#137和#177-D错误,大神们帮我看看,谢谢
#include"nxplpc11xx.h"
#include"uart.h"
#include"stdint.h"
void delay(void)
{
uint8_t rec_buf;
uint8_t dat1;
uint16_t i,j;for(i=0;i<5000;i++);
for(j=0;j<1000;j++);
}
int main() //初始化,时钟配置************************
{
Sysclk_Config();
UART_init(9600);
SYSCON->SYSAHBCLKCTRL|=(1<<16);
IOCON->PIO1_10&=~0X07;
IOCON->PIO0_6&= ~0X07;
IOCON->PIO0_8&= ~0X07;
SYSCON->SYSAHBCLKCTRL&=~(1<<16);
GPIO1->DIR|=(1<<10);
GPIO0->DIR|=(1<<6);
GPIO0->DIR|=(1<<8);
while(1) //LED**********************************
{
rec_buf=UART_recive();
dat1=rec_buf;
if(dat1&(1<<0)!=(1<<0))
{
GPIO1->DATA&=~(1<<10);
}
else
{
GPIO1->DATA|=(1<<10); //DJ ***************************
rec_buf=UART_recive();
dat1=rec_buf;
if(dat1&(1<<1)!=(1<<1)&&dat1&(1<<2)=(1<<2))
{
GPIO0->DATA&=~(1<<6);
GPIO0->DATA|=(1<<8);
}
else if(dat1&(1<<2)!=(1<<2)&&dat1&(1<<1)=(1<<1))
{
GPIO0->DATA&=~(1<<8);
GPIO0->DATA|=(1<<6);
}
else
{
GPIO0->DATA|=(1<<6);
GPIO0->DATA|=(1<<8);
}
}
}
}
|
|