共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电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 |