完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在使用创建子菜单的滚动菜单的结构方法时,我遇到了一些问题。我使用的是PIC18F26K40、MPLAB X V4.01 IDE和XC8 V1.44编译器。我有显示这个菜单的功能,扫描任何按钮的按钮,浏览菜单。我希望使用菜单中的函数指针来调用函数。这样,我的所有函数就不需要传递一个全局变量来验证它们是否在正确的模式中。相应的头文件具有以下声明:包含:Stdio。MenuEntry;腐蚀性C文件具有以下内容:空隙(*ms)(无符号char)=MyS.(;)//函数指针到MysSulf(*FS)(无符号char)=fx();//函数指针指向FySunSchar char;//在任意瞬变字符Munu0000 []的光标位置[[主屏幕] ];//0CONST char MeNuy0.1[]=“速度模式”;//1CONST CHARUMUUYO02[]=“设置模式”;//2CONST CHARMUUYO33[]=“编程模式”;//3CONST CHARUMUUYO44[] = [速度子菜单];//4CONST CHARUMUYU55.[]=“M/S”;//5CONST CHARUMUYU66[]=“FFT/S”;//6CONST CHARMUUY07[]=清除“;//7constcharchar菜单_008[]] =返回“;//8constchar菜单_009[]=“[安装子菜单]]]]//8constcharcharcharcharcharcharchar菜单_009[[[]//7constchar char菜单_008.//////7constcharchar菜单菜单_008[]=====“] = = = =“;//7constcharcharcharchar菜单菜单菜单_008.[]]=“;//8constcharchar菜单菜单菜单菜单菜单_008[] = = = =“返回”;;//8Const菜单(返回”;//8constcharcharchar菜单菜单菜单菜单菜单008[];//83,9,0),(menu_003,4,3,4,4,11,11,0),(菜单_004,5,8,5,8,4,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,5,11,11,11,0),(菜单_004_004_004_004,5,5,5_004,5,5_004,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 3,10,10,0,0),};XC8编译器给了我以下errors:LCD_CONTROL.h:18:error:(262)结构/联合“菜单结构”重新定义了LCD_CONTROL.c:32:error:(187)功能参数太少LCD_CONTROL.c:32:error:(188)常量表达式要求LCD_CONTROL.c:32:error:(206)非法使用无效表达式LCD_CONTROL.c:32:error:(182)非法转换在typesvoid->指针指向函数的参数之间(无符号字符)返回voidLCD_CONTROL.c:32:error:(181)非标量类型不能转换为其他类型LCD_CONTROL.c:33:error:(187)函数参数太少,LCD_CONTROL.c:33:error:(188)需要LCD_CONTROL的常数表达式c:33:error:(206)非法使用void expressionLCD_CONTROL.c:33:error:(182)types void->指针到函数的非法转换,参数返回voidLCD_CONTROL.c:33:error:(181)非标量类型不能转换为其他类型LCD_CONTROL.c:55:error:(188)常数表达式要求LCD_CONTROL.c:55:警告:(357)整数非法转换为指针LCD_CONTROL.c:56:错误:(188)常数表达式要求LCD_CONTROL.c:57:错误:(188)常数表达式要求LCD_CONTROL.c:58:错误:(188)常数表达式要求LCD_CONTROL.c:60:er错误:(188)常数表达式要求LCD_CONTROL.c:61:错误:(188)常数表达式要求LCD_CONTROL.c:61:警告:(358)指针非法转换为整数LCD_CONTROL.c:62:错误:(188)常数表达式要求LCD_CONTROL.c:63:错误:(188)常数表达式要求LCD_CONTRO_CONTROL.c:63:警告:(357)将整数非法转换为指针LCD_CONTROL.c:64:错误:(188)常量表达式要求LCD_CONTROL.c:66:通知:(1)错误太多(21)
|
|
相关推荐
2个回答
|
|
这里调用函数MS,但不传递参数(错误,因为它期望一个参数),并将其返回值(错误,因为它不返回任何值)分配给函数指针变量ms(错误,因为它是错误的类型)。用同样的方法换行和换行可以消除一大堆错误。而且:和其他类似的修复方法也会有所帮助。记住,*在声明中与*在语句中不同。
|
|
|
|
你需要{ }在你的结构初始化器上,而不是(),我不认为你的额外const会在这里做任何事情。
|
|
|
|
只有小组成员才能发言,加入小组>>
5161 浏览 9 评论
1999 浏览 8 评论
1928 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3171 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2226 浏览 5 评论
731浏览 1评论
613浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
503浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
629浏览 0评论
527浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 22:07 , Processed in 1.105240 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号