keil错误:error c129: missing ';' before 'unsigned' 程序怎么修改还是编译不了,请各位前辈指点,谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil错误:error c129: missing ';' before 'unsigned' 程序怎么修改还是编译不了,请各位前辈指点,谢谢相关的知识,希望对你有一定的参考价值。

//中断控制实验程序
#include <reg52.h >
#include <intrins.h>
unsigned char code LEDData[] =

0xC0,0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0xff
;
//段码
unsigned char data display[3]; //显示缓存单元
unsigned char code scan_bit[8] =

0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f
;
//位码
unsigned char count; //计数单元
char code reserve[3]_at_ 0x3b; //保留0x3b开始的3个字节
/********************************************************
延时函数
********************************************************/
void delayms(unsigned int ms)

unsigned char k;
while (ms--)

for (k = 0; k < 114; k++)
;


/********************************************************
数据处理与显示函数
********************************************************/
void disp_count()

unsigned char n, temp;
temp = count;
for (n = 0; n <= 1; n++)
//数据处理

display[n] = temp % 10;
temp = temp / 10;

display[2] = temp; //百位数据
for (n = 2; n > 0; n--)
//高位为0,不显示

if (display[n] == 0)
display[n] = 0x0a;
else
break;

for (n = 0; n < 3; n++)

P0 = LEDData[display[n]]; //显示段码
P2 = scan_bit[n]; //输出位码
delayms(1);
P2 = 0xff; //关闭显示


void main(void)

P0 = 0xff;
P1 = 0xff;
P2 = 0xff;
IT0 = 0; //低电平触发
// IT0=1; //下降沿触发
IT1 = 0; //低电平触发
// IT1=1; //下降沿触发

EA = 1; //总中断允许
EX1 = 1; //开启INT1中断
EX0 = 1; //开启INT0中断
while (1)

disp_count(); //数码管显示



/********************************************************
INT0中断函数 (加计数)
********************************************************/
void INT0_ISR(void)interrupt 0

unsigned char x;
EX0 = 0; //关闭INT0中断
count++; //计数值加1
for (x = 0; x < 70; x++)
//用显示程序进行延时

disp_count();

EX0 = 1; //开启INT0中断


/********************************************************
INT1中断函数 (减计数)
********************************************************/
void INT1_ISR(void)interrupt 2

unsigned char x;
EX1 = 0; //关闭INT1中断
count--; //计数值减1
for (x = 0; x < 70; x++)
//用显示程序进行延时

disp_count();

EX1 = 1; //开启INT1中断


/********************************************************/
还是编译不了,如果我删掉那行语句,下面那行还是会出现同样的情况!
还补充点,具体是什么.h文件。

原因:因为缺少';。解决步骤如下:

1.第一步是打开devc++5.11,然后进入以下界面。

2.接下来,输入以下代码。

3.然后单击下面的框并运行选项。

4.接下来,在下面的框中选择compile选项,如下图所示。

5.然后您可以在下面的框中看到错误。

6.下一步是通过搜索英语单词来寻找期望;'before'z'的意思是:在…之前;“然后通过查看代码找到缺失的第6行”;然后添加它。

7.如果最后进行编译,将发现错误为0,如下图所示。

参考技术A 我也试验了一下,复制到我的kiel 3中,编译之后没有错误和警告,我以前也遇到过类似问题,后来查出是.h文件中函数声明少了个分号,但你这个是编译器自带的头文件,只要你不动就应该没事.建议你到别的机器上拷贝你用的两个头文件,将原来的头文件覆盖,在编译试试.因为我和楼上的都编译成功了,只能怀疑你的头文件被改了.本回答被提问者和网友采纳 参考技术B

我复制了你的程序,编译...

通过了

参考技术C 大佬们看看这个呗
#define uchar unsigned char#define uint unsigned int#define out0 P0#define out2 P2#define out1 P1void delay(uint j)uchar i=250;for(;j>0;j--)while(--i);i=100;uchar code string[]=0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0x42,0xE2,0x52,0x4A,0xC6,0x42,0x40,0xC0,0x00,0x04,0x03,0x00,0xFF,0x00,0x23,0x10,0x8C,0x43,0x20,0x18,0x47,0x80,0x40,0x3F,0x00,0x00,0x82,0x82,0xBA,0xAA,0xAA,0xAA,0xAB,0xAA,0xAA,0xAA,0xBA,0x82,0x82,0x80,0x00,0x02,0x01,0xA0,0xAA,0xAA,0x56,0x56,0xAA,0xF2,0x12,0x2A,0x22,0x40,0x42,0x01,0x00,0x10,0x60,0x02,0x8C,0x00,0xFE,0x02,0xF2,0x52,0x5A,0x56,0x52,0x52,0xF2,0x02,0x00,0x04,0x04,0x7E,0x41,0x30,0x0F,0x20,0x13,0x49,0x81,0x7F,0x01,0x09,0x13,0x20,0x00,void main()uchar i,j,n;while(1)for(j=0;j<3;j++)for(n=0;n<40;n++)for(i=0;i<15;i++)out1=i%15;out0=string[i*2+j*32];out2=string[i*2+1+j*32];delay(4);out0=0xff;out2=0xff;

CouchDB 查看 URL 显示:CouchDB: "error":"not_found","re​​ason":"missin

【中文标题】CouchDB 查看 URL 显示:CouchDB: "error":"not_found","re​​ason":"missing" ... 为啥?【英文标题】:CouchDB view URL shows: CouchDB: "error":"not_found","reason":"missing" ... Why?CouchDB 查看 URL 显示:CouchDB: "error":"not_found","re​​ason":"missing" ... 为什么? 【发布时间】:2011-05-23 14:55:29 【问题描述】:

例如:

我的 CouchDB 托管在:example.com CouchDB 数据库名称是:foo 视图名称是:my_view

所以,当我将这些放在一起构建 URL 时,我得到:

http://www.example.com/foo/my_view

以上网址显示:

 "error":"not_found","reason":"missing"

为什么会出现这个错误?

预期结果是列出了“my_view”视图对应的文档。

更多信息:

如果我访问http://www.example.com/foo,我会得到预期的响应:

"db_name":"foo","...

如果我访问http://www.example.com/foo/_design/my_view,我会得到预期的响应:

"_id":"_design/my_view","_rev":"...

我在 Windows7/Chrome 上使用 CouchDB v1.0.2

我的设计文档的全部内容(显示的是实际值,而不是 example.com)


  "_id":"_design/locations",
  "_rev":"1-0f7fbdd2f5b4213591e171b6e546af3a",
  "language":"javascript",
  "views": 
    "locations": 
      "map":"function(doc) \n  emit(doc.type === \"location\" && doc.name);\n"
    
  

【问题讨论】:

你的设计文档的全部内容是什么? 你的示例 URL 一定不能完全正确......第三个不应该是example.com/foo/_design/my_design_doc吗? 【参考方案1】:

正确的 URL 路径是/&lt;db&gt;/_design/&lt;design&gt;/_view/&lt;view&gt;

根据您在 cmets 中给出的真实 URL,这将是正确的 URL:

http://burritohunter.com/couchdb/burritohunter/_design/locations/_view/locations

确实它返回了预期的视图:

"total_rows":2,"offset":0,"rows":[
"id":"86bb31389b78aa5921f7a2f5c0000915","key":"Billy's","value":null,
"id":"jimmys","key":"Jimmy's","value":null
]

仅查询 /_design/locations 将返回文档本身:

"_id":"_design/locations","_rev":"1-0f7fbdd2f5b4213591e171b6e546af3a","language":"javascript","views":"locations":"map":"function(doc) \n  emit(doc.type === \"location\" && doc.name);\n"

【讨论】:

我在尝试你的路径时得到 404。但是,这可行:example.com/foo/_design/my_view(其中“foo”是数据库名称,“my view”是视图名称) 真的吗?给定您的设计文档,URL localhost:5984/<dbname>/_design/locations/_view/locations(调整主机:端口部分以适应您的情况)应该可以工作。这正是Couch Wiki 告诉您使用的内容。 用 edt 的真实网址更新了 Matt 的答案

以上是关于keil错误:error c129: missing ';' before 'unsigned' 程序怎么修改还是编译不了,请各位前辈指点,谢谢的主要内容,如果未能解决你的问题,请参考以下文章

keil软件错误总结.doc

CouchDB 查看 URL 显示:CouchDB: "error":"not_found","re​​ason":"missin

150+!单片机编译器KEIL的常见错误汇总(中英对照)

Keil C51编译报错error C141: syntax error

大家好,我用keil编译C语言时,遇到如下错误: ERROR: PREPROCESSOR: MACROS TOO NESTED

Keil MDK C (error: #29: expected an expression) 错误的解决