很简单的传感器与单片机串口调试程序,求大神过来看看

2019-10-11 16:52发布

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#define uchar unsigned char
int main(void)
{

        u8 i;       
        u16 times=0;  
        uchar code USART_RX_BUF[7]={0x68,0x06,0x00,0x06,0x02,0x08,0x16};
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        delay_init(168);                 
        uart_init(115200);       
        LED_Init();                                 
while(1)
        {
                if(USART_RX_STA&0x8000)
                {
                  for(i=1;i<8;i++)
                        {
                          USART_SendData(USART1, USART_RX_BUF[i]);
                          while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
                        }
                   USART_ReceiveData(USART1);
                         LED1=!LED1;
                        delay_ms(10);
                        USART_RX_STA=0;
                }else
                {
                  times++;
                        if(times%30==0)LED0=!LED0;
                        delay_ms(10);
                }
        }
}

有一个报错uchar code USART_RX_BUF[7]={0x68,0x06,0x00,0x06,0x02,0x08,0x16};main.c(22): error: #65: expected a ";"
去掉code就不会有报错

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
msq001
1楼-- · 2019-10-11 20:11
code只能51用吧?这里面你用const
xuande
2楼-- · 2019-10-11 20:42

加上code,意思是往flash区写常数,好像是这样。。。
不加code,同样起到赋值的目的。


爱娟娟
3楼-- · 2019-10-12 00:47
code有问题,而且你这边数组发送也无法全部发送,只能发送后6个数据
simms01
4楼-- · 2019-10-12 02:59
 精彩回答 2  元偷偷看……

一周热门 更多>