完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嘿,各位,我在编译代码时遇到了麻烦;问题是ISR,我想这可能是由于没有sys/attribs.h文件造成的。如果我注释了我的整个ISR,代码编译;如果我注释了我的ISR中的所有东西,我的代码就不会编译。这是我的代码中出现问题的一行:“inter.ISR_Handler(void){//假设内部所有内容都是有效的.}.}................我收到的错误消息如下:”:49:11:error:.'=', ', ', ', ', '; ', 'asm'或'u.'b”。在“ISR_Handler”之前,“如果问题缺少sys/attribs.h头文件,那么我有另一个问题;该文件没有与编译器一起安装。它应该是,还是我应该把文件定位在别处?提前感谢。
|
|
相关推荐
11个回答
|
|
|
|
“中断”不是XC16关键字,不能只为处理函数选择任意名称。我建议阅读用户手册的中断章节。
|
|
|
|
所以,AyAtAtditTytag标签基本上声明了函数使用任何属性都被称为“调用”,我猜?对不起,这对我来说是新的,所以我仍然想把它包起来。另外,根据每个中断启用,我会有单独的ISR功能吗?例如,我使用的是RTCC和Time1,所以我将有两个独立的ISR函数。最后,AutoJPSV和NoAutoPSV属性到底是什么?我看到手册说在引用常量时需要使用AutoPSPV,但是你能解释一下为什么需要这个吗?谢谢。
|
|
|
|
ISR将设置PSVPAG寄存器,并在exit时恢复它。no_auto_psvISR将不设置PSVPAG寄存器。RTFM用户太懒而不能阅读编译器手册。
|
|
|
|
我不确定这篇文章是不是在讨论XC8,是在错误的论坛,还是关于XC16和错误的语法,但是OK…
|
|
|
|
是的,我读得很好。我的意思是PSV到底是什么?而且不要回复程序空间的可见性,MBedder,我想我有足够的能力去弄明白这一点。达里奥,这是一个错误的语法,我想我现在已经明白了。谢谢。
|
|
|
|
它位于数据表中,虽然有点复杂,但不太多:它就像一个“窗口”,将可访问(可寻址)空间的“段”映射到大型程序(或RAM,视情况而定)区域中。
|
|
|
|
所以基本上,当变量被传递给函数并用于计算时,它不会受到影响(比如将整数传递给函数而不是指向整数的指针)?还是我完全误解了?
|
|
|
|
它是有效的*anytime*,它是来自CPU:想象一下(就像在旧8086中)只有16位地址和1MB的总内存:使用这个小“窗口”,你可以(作为一个例子)将真实可寻址空间的上部32KB从1MB映射到32Windows中……
|
|
|
|
PSV允许您读取闪存,就好像它是RAM一样。这允许直接读取Flash中的数据表而不应对它们。也在PIC的数据表中。
|
|
|
|
这对我来说更有意义。谢谢大家的澄清。我相信我会更好地把握它,因为我在未来进入更复杂的项目。
|
|
|
|
只有小组成员才能发言,加入小组>>
5243 浏览 9 评论
2035 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3208 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2258 浏览 5 评论
779浏览 1评论
672浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
598浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
681浏览 0评论
579浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 20:36 , Processed in 1.553991 second(s), Total 98, Slave 82 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号