完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我用内部时钟生成了定时器0/1的代码,我得到了所需的输出。但是,当我使用外部晶体时,我无法得到输出。我的代码只是根据定时器和外部定时器中断来点亮少数发光二极管。PIC使用:PIC16F1508我将附上我在MCC中使用的设置。我已经生成了用于上述设置的代码。我还将包括e我编辑的tmr0代码。//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------t8_t计时器0ReloadVal;/**部分:TMR0APIIs*/无效TMR0*/无效TMR0_初始化(无效)*/无效TMR0_初始化(无效){//设置TMR0到在所分配的用户界面//PSA;PS 1:4;TMRSE增量1_hi_lo;掩蔽nWPUEN和INTEDG位OPOPOPOPOPOPOPOPOPOPOPOP_REG_REG_RE_REG_RE;(0xC0)|0xF1&|0xF1&;0x3F;0xF1&;0x3F;//TMR00000000000000000000000x3F;//TMR0=0/加载在启用中断INTCONbits.TMR0IF=0;//启用TMR0中断INTCONbits.TMR0IE=1;INTCONbits.GIE=1;}uint8_t TMR0_Readtimer(void){uint8_t readVal;readVal=TMR0;return readVal;}void TMR0_WriteTimer(uint8_t8_t时间){rVal){//写入到Timer0注册器TMR0=timerVal;}无效TMR0_Re负载(无效){//写入到Timer0注册器TMR0注册器TMR0注册器TMR0注册器TMR0_TMR0=计时器TMR0=计时器TMR0=timerVal;}无效TMR0_写入到Timer0注册器TMR0注册器TMR0=timerRRRR0=计时器TMRRR0=计时器TMRRRRR0=计时器TMRRRRR0=计时器TMRRRRR0=计时器TMRRRRRR0=计时器TMRRRRR0=计时器TMRRRRR0=计时器TMRRRR0=计时器0LED3_PORT=~LED3_PORT=~LED3_PORT}}}/**文件结束*////-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------启用全局中断INTERRUPT_GlobalInter.Enable();//启用外围中断INTERRUPT_.pheralInter.Enable();//禁用全局中断//INTERRUPT_GlobalInter..ble();//禁用外围中断//INTERRUPT_.pheralInter..ble();//run();//1){}/**文件结束*//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------o烧坏。万一我出了什么差错,请告诉我。我的意思是检查计时器1是否会把PIC从睡眠中唤醒,并继续进行数据表中所建议的操作。对于这个操作,我将不能使用内部计时器。
|
|
相关推荐
11个回答
|
|
|
没问题,只要交叉引用类似的线程…
|
|
|
|
|
|
MCC支持外部振荡器吗?我关注过很多关于MCC的帖子(在这个论坛上),但是似乎没有人在他们的程序中使用过外部振荡器。人们已经发表了他们的疑问,但是我没有找到任何具体的解决方案。尤其是关于“TOCKI引脚不可用”的警告。
|
|
|
|
|
|
唯一与外部XTAL(异步)一起工作的计时器是Time1。我用PIC16F1705从睡眠中唤醒核心。MCC正确地生成了代码。
|
|
|
|
|
|
Cuurenthunter,你介意和我分享你在MCC窗口中使用的系统和Time1设置吗?除了在MCC的Timer1窗口中启用timer1之外,您还为使用timer1指定了PIC的任何引脚吗?我不知道该如何启用这个ToCKI PIN。我用16MHz晶体,在CONFIG1中把振荡器选择位指定为FOSC HS。除了基本生成代码和包括我的应用程序代码之外,我还需要做什么特别的事情吗?
|
|
|
|
|
|
我没有提到我用MCC2做过。我用的是32千赫晶体。今天晚上我要分享这些设置。
|
|
|
|
|
|
HARI21,在这里你可以找到我的设置。
|
|
|
|
|
|
Cuurenthunter,我试过你给的设置,但是我没有得到任何结果。我甚至试着换了水晶,但是仍然没有得到想要的输出。目前我在做定时器0,我得到下面的信息“TOCKI引脚不可用”。有没有人知道我该如何纠正这个警告。我试图附上我的屏幕图像,但是我得到以下信息“您没有访问权限”http://www..hip.com/for./upload.aspx?在这个服务器上。
|
|
|
|
|
|
嗨,对于PIC16F1508在Timer0的设置窗口中,有一个按钮“Clock source:”,带有弹出选项。默认值为:External(T0CKI引脚)。如果按下按钮,还有一个选项可以选择Internal指令时钟:Internal(Fosc/4)。eded,并且不能预先为任何其他目的保留。从图片上看,第一条消息似乎已经将Pin 17、RA2锁定到GPIO。如果为Timer0选择内部时钟,有关T0CKI的消息应该消失。定时器0的时钟信号应该来自管脚17T0CKI。现在,定时器0使用管脚17上的信号作为输入,并不真正介意信号是来自外部开关、振荡器或其他设备,还是来自切换RA2作为输出。定时器0只要清除管脚的安塞尔寄存器位以启用数字输入模式,就可以按脉冲出现的时间对脉冲进行计数。
|
|
|
|
|
|
谢谢你,Mysil。我还有一个疑问。在使用Time1时,我得到以下警告:OSO和OSI引脚需要分配。我认为这与我没有在Time0中分配ToCKI引脚类似。但是当我在Time1中搜索数据表时,我无法在数据表中找到OSO ANS OSI。而不是,我有T1CKI和T1G。我已经给这两个引脚在TMR1寄存器,这是在代码配置器。但我仍然收到关于未分配OSI PIN的警告。你知道这里有什么问题吗?在代码配置器的Time1对话框中,我启用了Time1中断和振荡器电路Time1。我需要使用它来从睡眠中唤醒PIC。所以我不能使用内部振荡器。我得到了正确的结果与内部振荡器定时器和定时器2。
|
|
|
|
|
|
在阅读Jignesh在微芯片论坛上发表的一篇文章时,我看到了IonutB发表的一篇文章,指出未分配的警告OSI和OSO管脚是MCC的内部问题。我也面临类似的问题吗?如果MCC本身存在问题,微芯片会做任何事情来纠正这个问题吗?希望你能尽快做出决定。正如我之前所说的,我想用Time1从睡眠中唤醒照片。所以我不能使用内部振荡器,谢谢。
|
|
|
|
|
|
嗨,Hari21对不同的PIC芯片有振荡器和其他外围设备共享到同一引脚的连接。对于PIC16F1508,只有一组2引脚,它们具有能够与晶体一起工作以形成振荡器的放大器。对于一些芯片,有一组ea的信号名称的图。PIC16F1508的插脚,数据表DS40001609E-page 4中有表1。还有表1-2,详细说明。与定时器1的晶体谐振器连接的插脚的正确名称是:SOSCO和SOSCI,次级振荡器输出和次级振荡器输入。PDIP包i上的插脚3软件包上的SOCSO、RA4、AN3、T1G、CLKOUT、OSC2pin 2共享的是SOSCI、RA5、T1CKI、NCO1CLK、CLKIN、OSC1。MCC中的pin管理器只是一个簿记工具,用于帮助保持对每个用途分配了哪个pin s have的概述。警告对于生成的代码有任何影响吗?如果不是,那为什么还要费心呢?如果MCC不能做你想做的事,那么你可以在源代码中做你认为MCC应该做的事情。如果Timer1或者CPU需要它,次级晶体振荡器的放大器将被启用:T1CONbits.T1OSCEN=1;如果你有一个32.768kHz的晶体连接到振荡器在TrimaMicro-Fig语句中,在配置寄存器1中进行振荡器模式选择,选择内部振荡器或LP晶体振荡器。驱动音叉型手表晶体作为XT或HS高频晶体,可能会破坏32.768千赫兹晶体。并不能回答他们将要或不会做什么,我不负责解决你的问题。这是一个用户论坛,而不是正式的支持。在微芯片支持网站上有支持票报告系统。微芯片代码配置器项目是一项大工程。有一个长长的愿望清单,有一个专门讨论MCC开发项目下一步应该做什么的子论坛和一个线程。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
454 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3529 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
466浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:13 , Processed in 2.392150 second(s), Total 62, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2018