-
18F46Q84 can
本帖最后由zzy2345678于2022-12-2608:52编辑在配置CAN工作模式时,一直在while中运行,退不出来,就是OPMOD没有更新,请问这是为什么?C1CONTbits.REQOP=requestMode;while(C1CONUbits.OPMOD!=requestMode){//Thisconditionisavoidingthesystemerrorcaseendlessloopif(1==C1INTHbits.SERRIF){status=CAN_OP_MODE_SYS_ERROR_OCCURED;break;}}
2022-12-26 3 -
MICROCHIP STUDIO 7.0 JTAG调试问题
MICROCHIPSTUDIO生成的工程文件能不能用于AVRSTUDIO4.0进行JTAG调试,因为手里没有MICROCHIPSTUDIO的调试器(价格也比较贵)?
2022-11-14 2 -
关于PIC18F25K42的I2C通讯问题
本帖最后由pzsh于2022-9-709:21编辑MCU型号:PIC18F25K42实现功能:做I2C从机,只接收主机发送的数据即可,不需要发送数据给主机,每次数据包长度为2个字节,发送间隔大约44ms左右。问题描述:在设备初始化后,从机可以接收到主机发送来的数据,但是一般在接收到几个数据包后,从机的I2C就会出现问题。1、通过逻辑分析仪看出,出问题那个数据包,最后一个字节的第8个时钟拉低后就一直处于低状态,导致I2C无法正常工作。2、通过debug发现,出问题那个数据包,程序是没有进入I2C中断的。3、出问题后I2C的时钟线一直处于被拉低状态,直到对从机复位,才可以恢复正常。后期经过调试发现,只要在I2C的中断里面加上几十个NOP();这个问题就可以解决。想请教下有没有大牛可以帮忙解答下困惑,谢谢!程序代码都是通过MCC生成的。I2C的初始化配置voidI2C1_Initialize(void){//ADR34;I2C1ADR0=0x22;//ADR127;I2C1ADR1=0xFE;//ADR0;I2C1ADR2=0x00;//ADR0;I2C1ADR3=0x00;//TXU0;CSDClockStretchingenabled;ACKT0;RXO0;ACKDTAcknowledge;ACKSTATACKreceived;ACKCNTNotAcknowledge;I2C1CON1=0x80;//ABDenabled;GCENdisabled;ACNTdisabled;SDAHT300nsholdtime;BFRET8I2CClockpulses;FMEdisabled;I2C1CON2=0x00;//CLKFosc/4;I2C1CLK=0x00;//CNT255;I2C1CNT=0xFF;//CSTREnableclocking;SClearedbyhardwareafterStart;MODEfour7-bitaddress;ENenabled;RSENdisabled;I2C1CON0=0x80;PIR2bits.I2C1RXIF=0;PIR3bits.I2C1TXIF=0;PIR3bits.I2C1EIF=0;I2C1ERRbits.NACKIF=0;PIR3bits.I2C1IF=0;I2C1PIRbits.PCIF=0;I2C1PIRbits.ADRIF=0;PIE2bits.I2C1RXIE=1;//enableI2CRXinterruptPIE3bits.I2C1TXIE=1;//enableI2CTXinterruptPIE3bits.I2C1EIE=1;//enableI2CerrorinterruptI2C1ERRbits.NACKIE=1;//enableI2CerrorinterruptforNACKPIE3bits.I2C1IE=1;//enableI2CinterruptI2C1PIEbits.PCIE=1;//enableI2CinterruptforstopconditionI2C1PIEbits.ADRIE
2022-09-06 4 -
ATtiny814如何喂狗
本帖最后由pzsh于2022-8-2915:08编辑通过Microchipstudio配置了ATtiny814看门狗,代码生成后发现没有同时生成喂狗的函数接口,请问大家是否有遇到同样的问题?谢谢
2022-08-25 10 -
MPLAB X IDE中使用hexmate工具生成的16位checksum问题
请问下,我在使用hexmate生成的16位checksum与hexmate手册中CheckSum算法代码所生成checksum不一样?以下为hexmate用户手册7.1.1AdditionAlgorithms中的checksum生成代码#includetypedefuint8_tread_t;//sizeofdatavaluesreadandsummedtypedefuint16_tresult_t;//sizeofchecksumresult//addtooffset,nadditionsofvaluesstartingataddressdata,//truncatingandreturningtheresult//data:theaddressofthefirstvaluetosum//n:thenumberofsumstoperform//offset:theintialvaluetowhichthesumisaddedresult_tck_add(constread_t*data,unsignedn,result_toffset){result_tchksum;chksum=offset;while(n--){chksum+=*data;data++;}returnchksum;}实际工程中的checkSum设置:hexmate${ImagePath}-FILL=0x3FFF@0x0000:0x7FFB-CK=0x0800-0x0802@0x7FFC+0x00w-2t34g1-o${ImagePath}在MPLABXIDE的ProgramMemory窗口中查看到的0x400地址处内容为0x3184,如果按照上述checkSum计算方法得到的checksum值为B5,而使用hexmate生成的checksum值为C9请问下,到底这个hexmate生成的16位checksum算法是怎样的?
2022-07-28 7 -
PIC18F87K22复位
本帖最后由pzsh于2022-7-2111:21编辑一直用PIC16系列的单片机,最近有个项目用了一款18f87k22,出现一个奇怪的问题,芯片正常工作时,用手指触摸芯片表面,没有碰到管脚,芯片自动复位,查来查去也找不到问题,哪位大神碰到过,指点一二,谢谢!控制字如下,内部外部复位,晶振都试过,没有解决!搜索复制#pragmaconfigIESO=OFF,FCMEN=OFF,PLLCFG=1,FOSC=3,XINST=OFF,SOSCSEL=2,INTOSCSEL=0,RETEN=ON#pragmaconfigWDTPS=12,WDTEN=1,BORPWR=1,BORV=3,BOREN=2,PWRTEN=0//CPU48MHZ#pragmaconfigMCLRE=1,CCP2MX=1,RTCOSC=0//MSSPMSK=MSK7,#pragmaconfigSTVREN=ON#pragmaconfigCPD=ON,CPB=0//CP=0xff#pragmaconfigWRTD=1,WRTB=0,WRTC=0
2022-07-18 8 -
有偿请教关于18F66k22串口假死问题。
本帖最后由taijing33于2020-11-1615:17编辑问题描述:使用了串口1和2,接受都是中断高优先级,发送没用中断。串口1连接的485设备,实际外部没用连接使用。串口2通过232连接的串口屏。问题出在串口2上。现在的问题是客户反应屏幕不能设置,显示正常,经判断就是串口2不能进入接受中断了,但是发送是正常的,就是假死了、。网上百度了有关信息。程序中也做了帧错误和数据溢出处理。我在办公室连续测了2天,各种乱按摔打,。就是不能重现客户遇到的问题。很是郁闷。但是客户反应的真真切切。以前在程序操作内部ee的时候关闭了中断,串口屏操作稍快就会,造成串口假死,但是我现在已经处理了。本以为解决了这个问题,没想到到客户哪里,还是有这种情况。这种情况在客户哪里也是几天有可能出现。但是一定会出现。串口屏操作一次发给单片机的数据一般不超过20个。我的串口2接受处理逻辑。大体意思是串口有数据中断时,赋值Comdelay=2;一股脑的吧所有数据都接受进数组Usart1_rbuff[100];数据一直有的话Comdelay一直等于2;然后再定时器中断中Comdelay--;定时器是10ms进一次中断。当Comdelay==0认为没有数据了,这时候在接收到的数据中找出振头和帧尾并进行CRC运算确认数据的正确。下面是代码:串口2和1的初始化代码voidconfig_uart1(void){PMD1bits.RTCCMD=1;TRISCbits.TRISC7=1;TRISCbits.TRISC6=0;TXSTA1bits.TXEN=1;PIE1bits.TX1IE=0;//????TXPIE1bits.RC1IE=1;//RX//INITIALIZINGEUART,9bits,9600baudratePIR1bits.TX1IF=0;//ClearEUSARTTransmitInterruptFlagbitPIR1bits.RC1IF=0;//ClearEUSARTReceiveInterruptFlagbitTXSTA1=0x24;//Synchronousmode:Selects9-bittransmission,HighspeedBRGH=1,TransmitenabledRCSTA1=0x90;//Synchronousmode:Selects9-bitreception,ContinuousReceiveEnable,//Serialportenabled(configuresRX/DTandTX/CKpinsasserialportpins)//SPBRG1=BAUD9600;//11.0592MHz,BRGH=1,9600bpsSPBRG1=51
2020-11-16 3 -
编译错误是什莫原因undefined identifier "OPTION"
我在编译12f683编译时出现undefinedidentifier"GODONE"undefinedidentifier"OPTION"代码的逻辑没有错误,这个是什莫原因
2020-11-16 3 -
请问win7系统下怎样搭建开发环境
我现在用的是win7,64位系统,芯片用的是16F1507,用MPLAB_IDE8.92挂接HI-TECHPICC9.83,编译不成功,提示:Haltingbuildonfirstfailureasrequested.是不是这个版本太旧了,请问各位我应该怎样搭建开发环境啊?谢谢!
2020-11-12 5 -
关于mcc的library的问题
C:\Users\Administrator\Desktop\1.pngmplab中mcc插件使用中,设备资源下没有mikroe相关模板,这是什么问题????
2020-09-11 2