完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我不能将It1函数设置为RP8输入。使用PIC18F26J50;允许IOLKOK更改是确实的;可以将Oracle PrimaMac配置文件IOL1WOR= OF//IOLKOD位设置并从RESET中恢复出该代码:(IOLOCK默认为0,但我将其设置为0,以确保)ITCON=0x00;/ /去激活E中断ItCON3=0x48;//启用和设置It1IP到高优先级、It2IP、It3IP设置为低优先级和透明的It1、2, 3个标志ASM MOVLW 0x55;外围映射解锁序列在汇编MOVWF ECON2、0 MOVLW 0xAA MOVWF ECOE2、0 BCF PPSCON、0、存储的PIC18建议之后。尝试解锁IOLOCK,以防MOVLW 0x08;映射It1函数输入到RP8(RB5)MOVWF RPNR1,Boojy-EnthasItCON3=0x48;//启用和设置It1IP到高优先级,It2IP,It3IP设置为低优先级和清除It1,2, 3标志ItCONN=0x80;/ /激活高优先级中断向量所有初始化都是在最后一个指令上调试调试器:PPSCON=0x00 RPNR11= 0x1F(重置默认状态)& gt;& gt;& gt;& gt;& gt;&预期;0x08tn1当然不是由引脚RB5上的脉冲触发的,将感谢任何建议。
以上来自于百度翻译 以下为原文 I am unable to set INT1 function to RP8 input. Using PIC18F26J50; Allow IOLOCK CHANGES Just to be sure; #pragma config IOL1WAY = OFF // IOLOCK bit can be set and cleared Coming out of reset I have this code: (IOLOCK should be 0 by default but I set it to 0 just to be sure) INTCON = 0x00; // Deactivate interrupts INTCON3 = 0x48; // enable and set INT1IP to high priority, INT2IP, INT3IP set to low priority and clear INT1, 2, 3 flags _asm MOVLW 0x55 ; Peripheral mapping unlock sequence following the PIC18 suggestion in Assembly MOVWF EECON2, 0 MOVLW 0xAA MOVWF EECON2, 0 BCF PPSCON, 0, BANKED ; Try to unlock IOLOCK just in case MOVLW 0x08 ; map INT1 function input to RP8 (RB5) MOVWF RPINR1, BANKED _endasm INTCON3 = 0x48; // enable and set INT1IP to high priority, INT2IP, INT3IP set to low priority and clear INT1, 2, 3 flags INTCON = 0x80; // Activate high priority interrupt vector now that all initialization is done Breaking the debugger on the last instruction: PPSCON = 0x00 RPINR1 = 0x1F (The Reset default state) >>>>>>> Expected 0x08 INt1 of course is not triggered by a pulse on pin RB5 Would appreciate any suggestions |
|
相关推荐
12个回答
|
|
我认为你需要一个银行来选择PPS寄存器所在的银行。
以上来自于百度翻译 以下为原文 I think you need a banksel to select the bank where PPS registers are. |
|
|
|
感谢NothGee,只支持这个MCU。位于EC0H和F5FH之间的SFRs不是接入银行的一部分。应使用存储指令(使用BSR)或MeVoFF指令来访问这些位置。当编程IMPLAB®C18时,编译器将自动使用适当的寻址模式。
以上来自于百度翻译 以下为原文 Thanks NorthGuy, Only BANKED is supported for this MCU. The SFRs, located between EC0h and F5Fh,I followed example 10-7 in the Data Sheet which uses BANKED |
|
|
|
确切地。这就是为什么你需要设置BSR来指向合适的银行。这通常是用BoSSEL完成的:
以上来自于百度翻译 以下为原文 Exactly. That's why you need to set BSR to point to the appropriate bank. It's typically done with banksel: banksel PPSCON |
|
|
|
再次感谢您的响应:BCF PPSCON,0,BoSSELSED语法错误(在文档中搜索BANSEL & GT;没有发现),在任何情况下IOLoCK都是0进入这个代码,因此即使没有该行,RPNR1的解锁和设置也应该工作。然而,它并不(BTW)(RP8)没有模拟功能,可以推翻这个引脚分配,如果活动的话)
以上来自于百度翻译 以下为原文 Again thanks for your response I tried: BCF PPSCON, 0, BANKSELGives Syntax Error (Searched for BANKSEL in the documentation >> Not found) In any case IOLOCK is 0 entering this code so the Unlocking and setting of RPINR1 should work even without that line. Yet it does not (BTW that pin (RP8) has no Analog function which could override this Pin assignment if active) |
|
|
|
|
|
|
|
谢谢DaLogo但史诗失败MOSLW 0x55 MOVWF ECOE2,0 MOVLW 0xAA MOVWF ECOE2,0班卡PSCON & GT;(第369行)……DrMaun.C:369:错误:语法错误重复-iOLok是0(从POR缺省状态出来),所以RPNR1映射应该在没有该代码行但调试的情况下工作。R表示RPNR1在代码之后是0x1F。RPNR映射代码是从文档示例中的精确拷贝。文件中没有提到银行卡。你有PIC18F系列的PPS代码样本吗?
以上来自于百度翻译 以下为原文 Thanks DarioG but epic fail _asm MOVLW 0x55 MOVWF EECON2, 0 MOVLW 0xAA MOVWF EECON2, 0 BANKSEL PPSCON ->> (line 369) ......dermain.c:369:Error: syntax error I repeat - IOLOCK is 0 (coming out of POR default state) So RPINR1 mapping should have worked without that line of code but the debugger indicates that RPINR1 is 0x1F after the code. The RPINR mapping code is an exact copy from the documentation example! There is no mention of BANKSEL in the documentation at all. Do you have a working PPS code sample for PIC18F series? |
|
|
|
可能BACKSEL是一个宏,在嵌入式ASM模式中是不被识别的。我们应该能够找到它的源代码……我从来没有在PIC18上使用PPS,但是……我想说,值得一试查看BANSEL宏!应该像MOVB & LT;SFR&GT的上字节;
以上来自于百度翻译 以下为原文 possibly BANKSEL is a macro and is not recognized in embedded ASM mode. We should be able to find its source code... I never used PPS on a PIC18 but... I'd say, worth a try checking for BANKSEL macro! Should be something like MOVB |
|
|
|
在PIC上设置PPS没有什么棘手的。去掉不必要的解锁代码和汇编语言,只需执行rpRR1=8;并查看它是否工作。
以上来自于百度翻译 以下为原文 There's nothing tricky about setting up PPS on this PIC. Get rid of the unnecessary unlocking code and assembly language and just do RPINR1 = 8; and see if it works. |
|
|
|
PPSCON和RPNR1寄存器位于访问RAM中。因此,必须确保在访问这些寄存器之前选择正确的银行。此外,从第一次写入到ECON2到写入PPPSON的魔术序列必须在四个指令周期中执行;这就是为什么在此之前必须禁用GIE的原因。银行的选择在PIC数据表中显示为一个MOVLB指令,它是BoSEL宏将装配到的。无论如何,尝试这个或使用CTO检查反汇编列表,以确保MOVLB指令不***入并打破魔术序列。XC8的M/γ端模。
以上来自于百度翻译 以下为原文 The PPSCON and RPINR1 registers are _not_ located in the Access RAM. So you must ensure the correct bank is selected before accessing these registers. Also, the magic sequence from the first write to EECON2 to writing PPSCON must be performed in exactly four instruction cycles; that's why GIE must be disabled prior to this. The selection of the bank IS shown in the example in the PIC datasheet as a MOVLB instruction, which the BANKSEL macro will assemble to. Anyway, try this #asm BANKSEL PPSCON MOVLW 0x55 MOVWF EECON2 MOVLW 0xAA MOVWF EECON2 BCF PPSCON, _PPSCON_IOLOCK_POSN MOVLW 0x08 MOVWF RPINR1 #endasm or use C EECON2 = 0x55; EECON2 = 0xAA; PPSCONbits.IOLOCK = 0; RPINR1 = 0x08; but check the disassembly listing to ensure the MOVLB instruction is not inserted within and break the magic sequence. |
|
|
|
|
|
|
|
感谢Javple -它工作-这么简单,我不知道为什么文件有所有关于解锁PIN映射寄存器等。
以上来自于百度翻译 以下为原文 Thanks jtemples - It Works - So simple I do not know why the documentation has all that about unlocking the pin mapping registers etc. |
|
|
|
看起来IOLKOD位默认为POR上的“0”,它关闭PPS写保护。&编辑& GT;如果您想要写保护PPS,则需要解锁序列。
以上来自于百度翻译 以下为原文 It looks like the IOLOCK bit is default to '0' on POR, which turns off the PPS write protect. |
|
|
|
只有小组成员才能发言,加入小组>>
5081 浏览 9 评论
1954 浏览 8 评论
1888 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3116 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2189 浏览 5 评论
634浏览 1评论
511浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
372浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
539浏览 0评论
441浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-1 15:26 , Processed in 1.377984 second(s), Total 100, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号