完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
|
|
相关推荐
7个回答
|
|
|
这个寄存器的用途因PIC而异,很多甚至没有寄存器。没有任何东西可以阻止您编写自己的寄存器。它只对较长的延迟有用,因为读取寄存器并根据寄存器的内容做出一些决定需要固定的时间。设置OSCCon的一个中央例程,同时更新一个“速度”变量。
|
|
|
|
|
|
嗨,为什么要使用延迟呢?XC8编译器用户指南第3.5.11段建议在内置宏不适合的情况下使用定时器。使用设置为运行其全部值范围(0到255或0到65535)的定时器,可以对多个时间测量、超时检查和延迟使用同一定时器。同时。在进行时间测量或超时比较时,使用与定时器寄存器大小相同的无符号变量。这个例子适用于8位定时器,最多延迟255定时器增量。同一定时器可用于最多255滴答的时间测量。同样,使用带有无符号int变量的16位定时器。然后可以测量最多65535个定时器滴答的间隔。将定时器设置为16位读缓冲器来读取定时器的高字节。或者/或者设置一个中断服务例程来在每次定时器时增加一个软件滴答计数器。从最大值到0。使用无符号整数变量作为软件定时器变量,以及用于时间测量计算的任何变量。可以将定时器寄存器的读数与软件定时器的高阶值以高分辨率长间隔组合。回到原来的问题:您将需要一些变量来跟踪系统振荡器的频率,以及您的定时器服务当前正在运行,或者您可以更改用于这些定时服务的定时器的预分频器。ER系统振荡器运行4兆赫,8, 16, 32或64兆赫。问候,Mysil
|
|
|
|
|
|
如果设置了OSCCON,则PIC以期望的频率运行,并且xc8延迟clcle例程应该在芯片之间产生相同的延迟
|
|
|
|
|
|
当然,除非在运行时更改OSCCON(或其他时钟速度控制)的值,否则一切都会不同。
|
|
|
|
|
|
嗨,OSCCON寄存器没有所有需要的信息。如果在一些过时的设备上使用晶体振荡器,或者任何类型的外部时钟,或者外部RC电路,那么编译器或任何库代码都不知道芯片运行的频率。宏基因通过XC8编译器来评估,取决于你对芯片运行频率的正确估计。编译器和维护编译器的人员不能也不能再在这方面提供帮助。微芯片代码配置器(MCC)是独立于编译器的一组工具,在这里可以帮助您进行您所要求的设置。MCC支持大量当前设备,并且随着每个版本的扩展而扩展。MCC生成。对于支持所有目的的一个解决方案,设备之间有太多的可能性,不同项目中的需求之间有太多的差异。然而,可以定义一个函数名和参数列表,以便在应用程序代码中使用,并描述y许多PIC微控制器可以连接并使用低功率手表晶体作为次级晶体振荡器,用于定时器1和实时时钟。如果可用,您可以使用它来校准您的系统频率。附上我的PIC32MX和PIC24定时和延迟例程,也许您可以找到一些想法。它使用的资源在许多PIC16设备上不可用,对于一个小的8位微控制器来说,它可能过火。问候,Mysil
MysiLyTimeH.TXT(4.43 KB)-下载88次 |
|
|
|
|
|
附加的想法:如果使用内部时钟源,那么应该可以在运行时通过检查控制内部osc和时钟多路复用器/定标器的寄存器值来确定Fosc。有了外部时钟源,你需要有一些已知的参考来确定在运行时的FoSC。有这么多不同的时钟产生/控制电路在这么多图片中,一个“一般”的延迟例程可能很难对大量的图片做到这一点。
|
|
|
|
|
|
大家:非常感谢这次讨论,这确实是个问题。问题是:x PIC用户是否应该为每个使用的PIC开发自己的(大部分都不是完美的)解决方案,并(或多或少)被迫(去黑暗的汇编器一侧?或者生产者(PIC和编译者)可以更好地在PC端解决编译时间问题,也许对于任何类型的PIC都使用大型数据库?我可以为每个PIC都这样做,就像我20多年来所做的那样,从欧洲第一个可用的PIC4000示例开始。具体来说:我有一个问题,那就是1800小时运行后,每8小时1-10次启动的千分之一的产品不能启动电源。似乎处理器没有脱离复位或内部PIC OSC不驱动它。它是一个具有MCP120作为复位控制器的PIC16F818。没有改变繁殖。先完成10.000次……然后看一下PIC16F818的错误:改变OSCCON和使用INTOSC时的稳定性问题,就像我们在应用程序中所做的那样。不确定这是一个问题,但还有什么办法?因此,当改变IrCF比特时,我尝试用64毫秒的延迟来实现工作。但是当在运行时更改IRCF位时,它比预期的更复杂。我们不能进行完全重新鉴定。MC产品问题是我现在的问题。所以,我希望:每个ErrATA.AND/和/或在这种特殊情况下的勘误处理切换开关(在编译器端):2。AIRCF有点独立工作<沮丧情绪>我喜欢MC,但是为了让他们的产品工作,我浪费了数小时和时间(论坛软件、编译器bug、IDEbug……)。这与我们也使用的Atmel部分完全不同。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
514 浏览 0 评论
5819 浏览 9 评论
2351 浏览 8 评论
2238 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3546 浏览 3 评论
1170浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1124浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
893浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
514浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-18 01:39 , Processed in 0.863294 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1663