完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
if (ti_1)
{ // UART1 transmit interrupt has occured // USER CODE BEGIN (SHINT_XINTR8Isr,6) UART1_vSendData8(counter[a]); a++; if(a==10) EA=0; // USER CODE END } (keil软件中编写的)在xc886的UART1中断函数void SHINT_viXINTR8Isr(void)中写入上面这么一段程序,编译后出现SHARED_INT.C(210): error C216: subscript on non-array or too many dimensions(数组counter定义,维数等基本语法没错误) 随意改成下面之后,编译就通过了: if (TI_1) { // UART1 transmit interrupt has occured // USER CODE BEGIN (SHINT_XINTR8Isr,6) UART1_vSendData8(counter); a++; if(a==10) EA=0; // USER CODE END } 给人感觉就是中断函数中不能用数组? 请问大侠们为什么出现这种情况? |
|
相关推荐
2个回答
|
|
不是中断能能用数组,是这个函数UART1_vSendData8的实参不能像你这样传递,你找本C语言书看一下关于函数参数传递的内容就清楚了
|
|
|
|
UART1_vSendData8()你看下你的这个函数,里面应该是以指针的形式出现的吧,那么你代入进去的应该是一个地址,而不是你这样的表达,即使要写成数组的样子,那么你前面应该也要加个&,代表从地址取值
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
693 浏览 0 评论
483 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之ubuntu网络设置
598 浏览 0 评论
龙芯中科胡伟武:3B6600 八核桌面 CPU 性能将达到英特尔中高端酷睿 12~13 代水平
665 浏览 0 评论
树莓派Pico 2发布,搭载RP2350双核RISC-V和Arm Cortex-M33微控制器!
618 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10712 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 09:09 , Processed in 0.657385 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号