完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我继承了一个客户项目,它使用了16F54单片机。在我进一步讨论之前,我知道这些芯片的年龄,我与我的客户讨论了这个问题,但是现在我别无选择,只能使用这些单片机。n与问题。我试图在设备上使用timer0设置一些代码。我使用MPLAB-X v4.05XC8v1.45与PicKit3 USB编程器。MCU被放置在一个板上,带有4MHZ时钟源,当用简单的闪烁程序编程时,一切正常。问题出在我手中。g是编译器似乎没有识别'T0IE'或'T0IF',iv'阅读过许多在线帖子,并且它们都使用相同的标志来测试,但是到目前为止,XC8/MPLAB一直用红色曲线形强调我所有的尝试。ting部分是,在我的应用程序代码中,除了“TRISA/B”、“PORTA/B”、“TMR0”和“OPTIONS”等非常常见的内容之外,没有其他内容可以实际工作。当MPLAB一直把红色下划线放在下面,然后告诉我当我试图构建/编译我的代码时它是不确定的。我甚至试过“TMR0IF”和16F54数据表中提到的其他寄存器,比如:“INDF”、“PCL”、“STATUS”和“amp;FSR”,所有4个寄存器都被识别出来,但是如果我试着不这么做o使用'bit s'和'INDFbits'、'PCLbits'、'STATUSbits'和'amp;'FSRbits',而不是弹出来显示位,我所得到的是一个弹出窗口,重复整个名称并在其旁边说'unsigned',请注意,我在16F54.h头文件中可以清楚地看到,其中定义了位。为了确保不是XC8,我也试过HiTech C,但是没有用,我也有同样的问题。我只想用一个简单的概念证明TMR0计数代码使用16F54,就像我说的,我必须使用MCU并且不能改变它,但是这个简单的代码只是让我迷惑为什么c编译器不会接受,尽管事实上很大一部分直接来自Microchip自己提供的应用笔记。任何能揭开这个谜团的人都可能只是保存了我的理智。我已经写了很多年软件了,所以我知道我写的是有效的C代码,老实说,我找不到编译器拒绝这个的理由。
|
|
相关推荐
5个回答
|
|
你在看正确的数据表吗?16F54中没有中断,因此没有T0IE或T0IF位。-编辑-同样-INDF不是寄存器,FSR不是位字段-它是指针。状态位。确实会弹出一个列表。
|
|
|
|
相当无聊的芯片。它没有什么作用。2层堆栈和1定时器,这是与端口无关的。http://WW1.Microchip .com /…N/DeviceDoc /41213D.PDF
|
|
|
|
PIC16F54?8位PICS的外祖父的Flash变体?天啊!建议先下载数据表。这个设备有两个级别的硬件堆栈,绝对没有中断。由于数据表只有88页,这可能是一个为期1到2天的不错的讲座。考虑到可用的资源(25字节RAM,523字节Flash),您最好在汇编器中编写这个程序。或者告诉你的客户使用C语言编程的5位数的中档PIC16会便宜很多。
|
|
|
|
大家好,谢谢你们的回复。是的,我肯定读的是正确的数据表,但是我想我可能比其他任何东西都更集中精力或者下载的代码示例。基本上,我的印象是“timer0”==“timer0”在所有的基线设备上,当我现在这个芯片不是特别好的芯片,它非常适合我的客户使用它(可编程逻辑门)。他们希望做的只是比他们一直使用的“Quad.”、“Quad OR”等稍微多一点的东西,也许还模仿了一些。CD4511或CD4555或类似的。基本上,他们在学校实验室环境中使用它们,并且根据教师提供的课程,板被预先编程和设置为AND门银行、OR门银行或任何他们需要的银行。他们发现16F54实际上是16F54。对于这个目的来说已经足够了,而且作为一个教育机构,他们有几千件大宗购买的东西,而且价格很便宜。作为一个教育机构,他们也必须向中央当局证明他们的购买是正当的,所以基本上他们必须使用t他做事。考虑到孩子经常出错,而且往往比不杀掉筹码还要多,能够只编写一个新程序并把它放入董事会,对他们来说真的很管用。我和一个老师有亲戚关系,所以我提供我的软件工程师专长,看看是否能够稍微解释一下这些图片可以做什么。我的印象是,定时器0在所有的基线设备上或多或少都以相同的方式工作,并且当它溢出时产生一个中断。因为我现在知道它不是,我很想知道,它到底有什么用。如果没有产生中断,定时器在设备上吗?对于我来说,有一个计时器模块没有告诉你它什么时候重置是没有意义的????这里有没有人在没有任何中断的情况下在任何基线设备上使用定时器?如果是这样的话,怎么办?现在PIC不会变了。他们将来可能会被一些新的东西所取代(我们还不知道,但我们已经讨论过了)
|
|
|
|
这就是为什么这些芯片是NRND,每个人都告诉你要更新一些东西。您已经说明了为什么无法做到这一点,这很好,但是现在必须解决芯片的显著局限性。使用定时器很尴尬,但是可以做到。你只需要定期阅读它,以确定它何时溢出。代码显然不能在溢出时进行查询。
|
|
|
|
只有小组成员才能发言,加入小组>>
5183 浏览 9 评论
2005 浏览 8 评论
1932 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3178 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2229 浏览 5 评论
739浏览 1评论
626浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
510浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
637浏览 0评论
535浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 00:37 , Processed in 1.281701 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号