共2条
1/1 1 跳转至页
急!急!一个关于汇编嵌入C的问题
问
我是用KEIL写的,程序如下:
#include "reg51.h"
#define uchar unsigned char
#ifdef asm
extern void sendcommand(uchar);
#endif
void sendcommand(uchar x)
{
#pragma asm
DATAB EQU P1.4
WRPIN EQU P1.5
CSPIN EQU P1.6
LCDCM: CLR CSPIN ;选中LCD
MOV A, #80H
MOV R6, #03H
LCM1: RLC A ;send 100
MOV DATAB,C
NOP
CLR WRPIN
NOP
NOP
NOP
SETB WRPIN
DJNZ R6, LCM1
MOV R6, #08H
MOV A, R6
LCM2: RLC A
MOV DATAB,C
NOP
CLR WRPIN
NOP
NOP
NOP
NOP
SETB WRPIN
NOP
NOP
NOP
DJNZ R6, LCM2
NOP
NOP
NOP
NOP
CLR DATAB
NOP
CLR WRPIN
NOP
NOP
NOP
NOP
SETB WRPIN
NOP
NOP
NOP
NOP
SETB CSPIN
NOP
NOP
NOP
NOP
SETB DATAB
#pragma endasm
}
main()
{
unsigned char i=0x01;
void sendcommand(i);
}
编译之后系统提示:error c161:'i' formal parameter ignored
实参哪里又问题啊??
请问各位大虾怎么回事,还有谁有这方面的资料?谢谢~~~ 答 1: 哥们,你的定义有问题在c51中不支持
void sendcommand(uchar x)这样的定义
你需要改为:
void sendcommand(x)
uchar x;
C51并不是标准的ANSI C,而是混合了c++和一些自己扩展的关于硬件的东西。
#include "reg51.h"
#define uchar unsigned char
#ifdef asm
extern void sendcommand(uchar);
#endif
void sendcommand(uchar x)
{
#pragma asm
DATAB EQU P1.4
WRPIN EQU P1.5
CSPIN EQU P1.6
LCDCM: CLR CSPIN ;选中LCD
MOV A, #80H
MOV R6, #03H
LCM1: RLC A ;send 100
MOV DATAB,C
NOP
CLR WRPIN
NOP
NOP
NOP
SETB WRPIN
DJNZ R6, LCM1
MOV R6, #08H
MOV A, R6
LCM2: RLC A
MOV DATAB,C
NOP
CLR WRPIN
NOP
NOP
NOP
NOP
SETB WRPIN
NOP
NOP
NOP
DJNZ R6, LCM2
NOP
NOP
NOP
NOP
CLR DATAB
NOP
CLR WRPIN
NOP
NOP
NOP
NOP
SETB WRPIN
NOP
NOP
NOP
NOP
SETB CSPIN
NOP
NOP
NOP
NOP
SETB DATAB
#pragma endasm
}
main()
{
unsigned char i=0x01;
void sendcommand(i);
}
编译之后系统提示:error c161:'i' formal parameter ignored
实参哪里又问题啊??
请问各位大虾怎么回事,还有谁有这方面的资料?谢谢~~~ 答 1: 哥们,你的定义有问题在c51中不支持
void sendcommand(uchar x)这样的定义
你需要改为:
void sendcommand(x)
uchar x;
C51并不是标准的ANSI C,而是混合了c++和一些自己扩展的关于硬件的东西。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |