找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1114|回复: 6
打印 上一主题 下一主题
收起左侧

error C100: unprintable character 0xB4 skipped 51单片机程序编译出错

[复制链接]
跳转到指定楼层
楼主
ID:216579 发表于 2022-10-16 21:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机串口编译出错什么问题
..\source\main.c(25): error C100: unprintable character 0xB4 skipped
第25行报错
#include <reg51.h>
#include        "delay.h"
#include        "uart.h"

sbit LED1=P1^0;
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit LED4=P1^3;
void Timer0Init(void);

void main()
{
                unsigned char i;
                Timer0Init();
                UartInit();
                EA=1;//打开总中断
                printf("wait for serial communication test.\r\n");
                printf("please send a command\r\n");
        while(1)
                {
                        if(recv_flag)
                        {
                                recv_flag=0;
                                start_timer=0;//关定时器
                                sendString(recv_buf);/处理数据
                                clr_recvbuffer(recv_buf);//清除数据buf
                        }


        }
}
void Timer0Init(void)                //1毫秒@11.0592MHz
{
        //==AUXR &= 0x7F;                //定时器时钟12T模式
        TMOD &= 0xF0;                //设置定时器模式
        TMOD |= 0x01;                //设置定时器模式
        TL0 = 0x66;                //设置定时初值
        TH0 = 0xFC;                //设置定时初值
        TF0 = 0;                //清除TF0标志
        ET0=1;//打开定时计数器0
        TR0 = 1;                //定时器0开始计时
}
void timer0_ISR() interrupt 1
{
                TR0=0;
        if(start_timer==1)
        {
     recv_timer_cnt++;//1、累加定时时间计数器
     if(recv_timer_cnt>MAX_REV_TIME)//2、判断定时时间是否超过设定的最大阈值,
                                                                                                                                                //超过则说明等待一段时间后没有新的数据到,
                                                                                                                                                //我们就判断一包数据接受完毕
                 {
                                recv_timer_cnt=0;//3、清除定时计数器 处理数据清楚buffer(放到数据处理之后)
                                recv_cnt=0;
                                recv_flag=1;
                        
                        }
        }
               
                TL0 = 0x66;                //设置定时初值
                TH0 = 0xFC;                //设置定时初
                TR0=1;

}

6.3中断方式串口接受一串数据.rar

39.78 KB, 下载次数: 4

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:18307 发表于 2022-10-16 22:29 | 只看该作者
';'号后面少1个 ' /'
回复

使用道具 举报

板凳
ID:883242 发表于 2022-10-16 23:27 | 只看该作者
显然是混进中文去了,除了注释内部以外,任何位置都不得出现中文,哪怕是中文空格都会出错,基本上所有的c编译器都是这样的。

把输入法切换到英文,彻底删除25行,然后重新把25行写一遍。
回复

使用道具 举报

地板
ID:121859 发表于 2022-10-17 09:03 | 只看该作者
void main()
{
                unsigned char i;
                Timer0Init();
                UartInit();
                EA=1;//打开总中断
                printf("wait for serial communication test.\r\n");
                printf("please send a command\r\n");
        while(1)
                {
                        if(recv_flag)
                        {
                                recv_flag=0;
                                start_timer=0;//关定时器
                                sendString(recv_buf);//处理数据
                                clr_recvbuffer(recv_buf);//清除数据buf
                        }


        }
}
回复

使用道具 举报

5#
ID:384109 发表于 2022-10-17 10:39 | 只看该作者
缺头文件吧
回复

使用道具 举报

6#
ID:216579 发表于 2022-10-18 10:11 | 只看该作者
看到了,谢谢
回复

使用道具 举报

7#
ID:1048135 发表于 2022-10-18 10:42 | 只看该作者
有中文输入了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表