共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 28BYJ-48机械臂实现人脸跟随被打赏¥24元 | |
| 基于RK3506B的片温识读功能的实现被打赏¥25元 | |
| 【瑞萨RA8D1测评】基于FreeRTOS的lvgl移植教程被打赏¥29元 | |
| 电子价签墨水屏开发被打赏¥35元 | |
| 【Ozone】RTT 打印终端使用被打赏¥29元 | |
| BMS保护板绝缘检测功能-不平衡电桥技术绝缘电阻检测设计与实现被打赏¥34元 | |
| 给28BYJ-48三自由度机械臂加一个网页控制台被打赏¥32元 | |
| 用28BYJ-48电机从零搭一台三自由度机械臂被打赏¥33元 | |
| 【英飞凌开发经验】ModusToolbox配置EdgeTalk外设被打赏¥27元 | |
| 基于BQ76952PFBR的BMS保护板热插拔损坏的原因和处理措施被打赏¥32元 | |
我要赚赏金
