qq_43391736 2022-09-27 15:15 采纳率: 40%
浏览 101

使用keil中一直出现c100问题

使用keil中一直出现c100问题
用代码块功能插入代码,请勿粘贴截图
/*  --------------------------- (C) COPYRIGHT 2020 Fortiortech ShenZhen -----------------------------
    File Name      : UART.c
    Author         : Fortiortech  Appliction Team
    Version        : V1.0
    Date           : 2020-04-11
    Description    : This file contains .C file function used for Motor Control.
    ----------------------------------------------------------------------------------------------------
                                       All Rights Reserved
    ------------------------------------------------------------------------------------------------- */
#include "Myproject.h"

/*  ----------------------------------------------------------------------------------------------*/
/*  Function Name  : UART2_Init
    /*  Description    : UART2_Init
    /*  Date           : 2020-09-06
    /*  Parameter      : None
    /*  ----------------------------------------------------------------------------------------------*/
void UART2_Init(void)
{
    SetBit(PH_SEL, UART2EN);    //P3[6]as UART2_RXD; P3[7]as UART2_TXD
    #if 0
    ClrBit(P3_OE,P36);      //输入使能
    SetBit(P3_PU,P36);         //上拉电阻
    SetBit(P3_OE,P37);         //输出使能
    SetBit(P3_PU,P37);         //上拉电阻
    #endif
    ClrBit(UT2_CR, UT2MOD1);    //00-->单线制8bit        01-->8bit uart(波特率可设置)
    SetBit(UT2_CR, UT2MOD0);    //10-->单线制9bit        11-->9bit uart(波特率可设置)
    ClrBit(UT2_CR, UT2SM2);     //0-->单机通讯          1-->多机通讯;
    SetBit(UT2_CR, UT2REN);     //0-->不允许串行输入 1-->允许串行输入,软件清0;
    ClrBit(UT2_CR, UT2TB8);     //模式2/3下数据发送第9位,在多机通信中,可用于判断当前数据帧的数据是地址还是数据,TB8=0为数据,TB8=1为地址
    ClrBit(UT2_CR, UT2RB8);     //模式2/3下数据接收第9位,若SM2=0,作为停止位
    PSPI_UT21 = 0;              //中断优先级时最低
    PSPI_UT20 = 0;
    ClrBit(UT2_BAUD, BAUD2_SEL); //倍频使能0-->Disable  1-->Enable
    ClrBit(UT2_BAUD, UART2CH);   //UART2端口功能转移使能0:P36->RXD P37->TXD 1:P01->RXD P00->TXD
    ClrBit(UT2_BAUD, UART2IEN);  //UART2中断使能0-->Disable  1-->Enable
    UT2_BAUD = 0x000c;           //波特率可设置 = 24000000/(16/(1+ UT_BAUD[BAUD_SEL]))/(UT_BAUD+1)
    //9B-->9600 0x000c-->115200 0x0005-->256000
}


/*  ----------------------------------------------------------------------------------------------*/
/*  Function Name  : UART1_Init
    /*  Description    : UART1_Init
    /*  Date           : 2020-09-06
    /*  Parameter      : None
    /*  ----------------------------------------------------------------------------------------------*/
void UART1_Init(void)
{
    SetBit(PH_SEL, UART1EN);    //P0[6]as UART2_RXD; P0[5]as UART2_TXD
    #if 0
    ClrBit(P0_OE, P06);         //输入使能
    SetBit(P0_PU, P06);         //上拉电阻
    SetBit(P0_OE, P05);         //输出使能
    SetBit(P0_PU, P05);         //上拉电阻
    #endif
    UT_MOD1 = 0;    //00-->单线制8bit        01-->8bit uart(波特率可设置)
    UT_MOD0 = 1;    //10-->单线制9bit        11-->9bit uart(波特率可设置)
    SM2 = 0;        //0-->单机通讯          1-->多机通讯;
    REN = 1;        //0-->不允许串行输入 1-->允许串行输入,软件清0;
    TB8 = 0;        //模式2/3下数据发送第9位,在多机通信中,可用于判断当前数据帧的数据是地址还是数据,TB8=0为数据,TB8=1为地址
    RB8 = 0;        //模式2/3下数据接收第9位,若SM2=0,作为停止位
    PI2C_UT11 = 0;                 //中断优先级时最低
    PI2C_UT10 = 0;
    ClrBit(UT_BAUD, UART_2xBAUD);   //倍频使能0-->Disable  1-->Enable
    ES0 = 0;                        //UART1中断使能0-->Disable  1-->Enable
    UT_BAUD = 0x000c;//波特率可设置 = 24000000/(16/(1+ UT_BAUD[BAUD_SEL]))/(UT_BAUD+1)
    //9B-->9600 0x000c-->115200
}


/*  ----------------------------------------------------------------------------------------------*/
/*  Function Name  : put_char
    /*  Description    : put_char
    /*  Date           : 2020-09-06
    /*  Parameter      : c: [输入/出]
    /*  ----------------------------------------------------------------------------------------------*/
void put_char(unsigned char c)
{
    UT2_DR = c;
    
    while (!ReadBit(UT2_CR, UT2TI));
    
    ClrBit(UT2_CR, UT2TI);
}


/*  ----------------------------------------------------------------------------------------------*/
/*  Function Name  : put_string
    /*  Description    : put_string
    /*  Date           : 2020-09-06
    /*  Parameter      : str: [输入/出]
    /*  ----------------------------------------------------------------------------------------------*/
void put_string(unsigned char * str)
{
    while (*str != 0)
    {
        put_char(*str);
        str++;
    }
}


运行结果及报错内容 ..\User\source\Hardware\UART.c(1): error C100: unprintable character 0x14 skipped

..\User\source\Hardware\UART.c(1): error C129: missing ';' before '#'
..\User\source\Hardware\UART.c - 2 Error(s), 0 Warning(s).

我的解答思路和尝试过的方法 网上解答说是非法字符,可我用notepad刷写之后还是无法解决
  • 写回答

2条回答 默认 最新

  • wwc2017 2022-09-27 15:22
    关注

    把Myproject.h的内容也发一下

    评论

报告相同问题?

问题事件

  • 创建了问题 9月27日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表