问答

汇集网友智慧,解决技术难题

  • GD32F450异常,看门狗复位无法恢复异常,电源复位恢复 sos 赏300家园币

    以GD32F450为主芯片的产品,在长期正常运行时(时间大于3年,量大),出现过两起相似的故障,其中1起是程序突然进入循环重启状态,循环周期大概5秒,断空开进行复位后程序恢复正常,另一起是程序的数据先出现异常,出现数据紊乱的现象,然后看门狗自动重启,但看门狗重启后程序在运行30秒后数据仍出现异常,异常现象一致,也是断空开进行复位后程序恢复正常。这两起故障的现象相似点就是程序异常后,看门狗复位并不能将系统恢复正常,断空开复位程序才能恢复正常。所以想问问各位大佬,这款芯片看门狗复位(自带)和电源复位的具体区别;哪些原因可能导致这种情况?这种故障基本上无法复现,所以请求各位大佬解惑。

  • GD32F303 IO口配置pwm持续输出中如何检测这个pwm高电平和低电平 sos

    GD32F303IO口配置pwm持续输出中如何检测这个pwm高电平和低电平

    GD32F303 IO PWM 电平 输出

    1733浏览 0回复 7关注
  • GD32使用stm32CUBEMX生成底层出现GPIO操作函数无效的现象 sos

    1、开发板是GD32F303RCT6系列使用的开发方式是STM32CUBEMX选择STM32F103RCT6系列芯片生成底层HAL库开发(实测可用)2、近期重新建立底层配置引脚利用HAL_GPIO_WRITE()点灯测试失败。又在先前实测可用的底层开发利用HAL_GPIO_WRITE()点灯测试成功。3、对比底层配置和keil配置没发现区别。失败的底层可以烧录程序可以DEBUG测试测试发现函数执行成功并且设置while(1)内部变量i自增发现while(1)时刻在运行但是点灯失败。4、查看GPIO配置都相同查看GPIO寄存器位置也相同两份底层运行的效果不同请问会是什么原因导致能有什么方式排查这个问题

    使用 函数 STM32CubeMX 操作 底层 GPIO

    1781浏览 0回复 8关注
  • sc_spi烧录程序 sos

    本人想基于M2S090-EVAL-KIT开发板实现SPI-slaveprogramming烧录(JTAG已经成功),已经安装了DirectC和FT4232芯片的驱动,串口可以识别,然而uarthostloader显示HandShakefailed,请求各位大佬帮助,再次感激不尽。

    FPGA 嵌入式 spi 烧录 SC AD

    1796浏览 0回复 8关注
  • STM32F103C8T6最小系统PA2无PWM输出 sos

    STM32F103C8T6最小系统用PA0/PA1/PA2/PA3输出PWM控制舵机,相同配置,PA0/PA1/PA输出正常,PA2始终无输出,2个串口分别用了PA9/PA10和PB10/PB11。一次偶然误用STM32F103C6T6替代了STM32F103C8T6反倒PA0/PA1/PA2/PA3全部正常,但PB10/PB11失效,反复检查也没发现问题,请指点,谢谢!

    PWM输出 stm32f103c8t6 最小系统 PA PA0 11

    2130浏览 0回复 8关注
  • PCB卡缘连接器是什么?有分公母吗? sos

    江苏蓬生电子认为分为公头和母座,根据信号需求选择合适的引脚数和间距。

    连接器 PCB连接器 卡缘 针座 PCB

    1816浏览 0回复 7关注
  • 请问 MM32F103 的 ADC CLK 分频设置是不是有问题? sos

    貌似提供的样例代码与规格书对应不上,样例代码里修改了RCCCFGR的BIT15:14说对应2,4,6,8分频,但是使用手册里,对应位为reserved只读始终为0,并且即便是这样也只有四种分频选择,与时钟配置树图中的/2,/4,/8/10/12/14/16也对不上。这是提供的信息有纰漏,还是在其他地方有更多信息,我不知道?完整的问题在下:我看到ADC参考样例代码的初始化过程中,调用了RCC_ADCCLKConfig(RCC_PCLK2_Div6);对应的函数内容为voidRCC_ADCCLKConfig(uint32_tRCC_PCLK2){uint32_ttmpreg=0;/*Checktheparameters*/assert_param(IS_RCC_ADCCLK(RCC_PCLK2));tmpreg=RCC->CFGR;/*ClearADCPRE[1:0]bits*/tmpreg&=CFGR_ADCPRE_Reset_Mask;/*SetADCPRE[1:0]bitsaccordingtoRCC_PCLK2value*/tmpreg|=RCC_PCLK2;/*Storethenewvalue*/RCC->CFGR=tmpreg;}其中CFGR_ADCPRE_Reset_Mask为0xFFF3FFF也就是说,修改RCC->CFGR的Bit[15:14]但是,规格书中(1.7中文版本)的RCCCFGR寄存器(第75页/463)部分说“15:14Reserved始终读为0”并没有解释对应的内容,是否有问题?HAL_RCC.c中对应的define如下#defineRCC_PCLK2_Div2((uint32_t)0x00000000)#defineRCC_PCLK2_Div4((uint32_t)0x00004000)#defineRCC_PCLK2_Div6((uint32_t)0x00008000)#defineRCC_PCLK2_Div8((uint32_t)0x0000C000)#defineIS_RCC_ADCCLK(ADCCLK)(((ADCCLK)==RCC_PCLK2_Div2)||((ADCCLK)==RCC_PCLK2_Div4)||\((ADCCLK)==RCC_PCLK2_Div6)||((ADCCLK)==RCC_PCLK2_Div8))也就是这两个bit从00到11四种组合分别对应2,4,6,8分频。在用户手册中时钟树配置部分(68页/463)的框图中,ADCCLK由APB2再经ADCPrescaler后获得,但是框图中的分频选项为:/2,/4,/8/10/12/14/16与这里RCC代码的定义也不一致。希望得到解释说明。

    MCU MM32 国产芯片 mm32f103 ADC rc

    1966浏览 0回复 8关注
  • 求助定时器ETI中断 sos

    F470驱动5个电机,同时需要5个脉冲个数反馈用来计算电机的位置。现在5个电机都可以用,用定时器ETI的获取脉冲数,TIMER1,TIMER2,TIMER3三个L1定时器都能工作,并且可以进入中断,但是二个高级定时器TIMER0和TIMER7。可以获取脉冲数,但是不能进入中断,被这个问题折磨了2天,还是没有弄好。以下是TIME0的代码。可以获取脉冲数,但是不能进入中断voidFb_3_Init(void){/*开启时钟*/rcu_periph_clock_enable(RCU_GPIOE);/*复用TIMER0_ETI到PE7*/gpio_mode_set(GPIOE,GPIO_MODE_AF,GPIO_PUPD_PULLDOWN,GPIO_PIN_7);gpio_output_options_set(GPIOE,GPIO_OTYPE_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_7);gpio_af_set(GPIOE,GPIO_AF_1,GPIO_PIN_7);gpio_bit_reset(GPIOE,GPIO_PIN_7);timer_parameter_structtimer_initpara;/*使能TIMER0外设时钟*/rcu_periph_clock_enable(RCU_TIMER0);/*配置定时器时钟为CK_AHB总线时钟*/rcu_timer_clock_prescaler_config(RCU_TIMER_PSC_MUL4);/*复位定时器TIMER0*/timer_deinit(TIMER0);/*TIMER0parameterconfiguration*/timer_initpara.prescaler=0;timer_initpara.alignedmode=TIMER_COUNTER_EDGE;timer_initpara.counterdirection=TIMER_COUNTER_UP;timer_initpara.period=200;timer_initpara.clockdivision=TIMER_CKDIV_DIV1;timer_initpara.repetitioncounter=0;timer_init(TIMER0,&timer_initpara);//如果外部时钟模式0和外部时钟模式1同时被配置,外部时钟的输入是ETIF/*定时器从模式选择*/timer_slave_mode_select(TIMER0,TIMER_SLAVE_MODE_EXTERNAL0);/*从模式配置寄存器(TIMERx_SMCFG)TRGS[2:0]用来指定选择哪一个信号作为用来同步计数器的触发输入源*/timer_input_trigger_source_select(TIMER0,TIMER_SMCFG_TRGSEL_ETIFP);/*从模式配置寄存器(TIMERx_SMCFG[14])SMC1从模式控制=>外部时钟模式1配置*/timer_external_clock_mode1_config(TIMER0,TIMER_EXT_TRI_PSC_OFF,TIMER_ETP_RISING,0X

    嵌入式 国产芯片 TI 定时器 timer IO

    1883浏览 0回复 7关注
  • GD32F303 USBD 进中断问题 sos

    rcu_periph_clock_enable(RCU_USBD);执行之后rstif会置1

    GD32F303 USBD rcu rc BLE AB

    1788浏览 0回复 8关注
  • NUC972DF62Y sos

    (这个芯片虽然停产了,但我们还要用一段时间。)请问新唐这个MCU:NUC972DF62Y有没有DAC输出管脚?如果有,具体是哪几个管脚呢?

    MCU NUC972 管脚 DA 输出 芯片

    1842浏览 0回复 7关注
  • 请问编译工程后为什么报 Unknown compiler错误 sos

    会出现下列问题:Buildstarted:Project:LK_StdPeriph_GPIO***UsingCompiler'V5.06update7(build960)',folder:'C:\Keil_v5\ARM\ARMCC\Bin'***Note:Rebuildingproject,since'Options->Output->CreateBatchFile'isselected.Rebuildtarget'LK_StdPeriph_GPIO'compilingmain.c...C:\Keil_v5\ARM\PACK\ARM\CMSIS\6.1.0\CMSIS\Core\Include\cmsis_compiler.h(287):error:#35:#errordirective:Unknowncompiler.#errorUnknowncompiler.我的keil里面没有添加宏定义,跟这个有关吗?

    编译 错误 No compiler ar TE

    3896浏览 0回复 8关注
  • IAP15F2K61S2无法烧录 sos

    这个板子是蓝桥杯单片机的板子。问题:一旦按自锁开关上电,电脑就要重新扫描串口号导致无法烧录。本来11月份都还好好的,之后为了应付大学期末考试放起来了。直到昨天才拿出来接着学,发现出了这个问题。我也查了好久,绝对也没碰过stc-isp的冷启动。昨天也是这个问题,但突然有一次就能烧录进去了。今天一直不行。可惜这里发不了视频,差不多描述一下,看看有没有解决办法或者别的烧录方法不需要关掉再开启才能烧录办法。按下自锁开关上电电脑重新识别串口号上电后和再按自锁开关关闭都是正常串口号

    单片机 国产芯片 IAP15F2K61S2 烧录 串口 开关

    6752浏览 0回复 8关注
  • PSD芯片 sos

    请问-国内有哪几个厂家可供应PSD(PositionSensitiveDetector)的?

    技术交流 PSD 芯片 TI TE sensitive

    3337浏览 0回复 8关注
  • pic18的串口使用pps配置输入无法进入串口中断 sos

    staticunsignedcharuart_map(_Class_Def_UART_CONFIGuart){uint16_tbaud=_XTAL_FREQ/4/uart.UART_BAUD-1;IO_SET_INPUT(uart.UART_RX_PIN);IO_SET_OUTPUT(uart.UART_TX_PIN);IO_SET_Digital(uart.UART_RX_PIN);IO_SET_Digital(uart.UART_TX_PIN);if(uart.UART_IDX==UART1){PIE4bits.U1RXIE=0;PIE4bits.U1TXIE=0;U1RXPPS=uart.UART_RX_PIN;*(OUT_PPS_LIST[uart.UART_TX_PIN])=UART1_TX;U1BRGL=(uint8_t)(baud%256);U1BRGH=(uint8_t)(baud/256);PIE4bits.U1RXIE=1;return1;}}上述代码的RX_PIN,TX_PIN是0x00-0x17,以上代码的tx引脚成功配置,但是rx引脚配置完成后无法进入串口中断,发送的消息接受不到

    PIC18 串口中断 ps 使用 ar RT

    3473浏览 0回复 7关注
  • 极海32F030芯片读写保护时,没找到xx32F0xx Flash_OPT.FLM文件 sos

    #defineOB_BASE((uint32_t)0x1FFFF800)/*!<FLASHOptionBytesbaseaddress*/#defineOB((OB_TypeDef*)OB_BASE)FLASH_StatusFLASH_OB_Erase(void){uint16_trdptmp=OB_RDP_Level_0;FLASH_Statusstatus=FLASH_COMPLETE;/*GettheactualreadprotectionOptionBytevalue*/if(FLASH_OB_GetRDP()!=RESET){rdptmp=0x00;}/*Waitforlastoperationtobecompleted*/status=FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);if(status==FLASH_COMPLETE){/*Ifthepreviousoperationiscompleted,proceedtoerasetheoptionbytes*/FLASH->CR|=FLASH_CR_OPTER;FLASH->CR|=FLASH_CR_STRT;/*Waitforlastoperationtobecompleted*/status=FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);if(status==FLASH_COMPLETE){/*Iftheeraseoperationiscompleted,disabletheOPTERBit*/FLASH->CR&=~FLASH_CR_OPTER;/*EnabletheOptionBytesProgrammingoperation*/FLASH->CR|=FLASH_CR_OPTPG;/*RestorethelastreadprotectionOptionBytevalue*/OB->RDP=(uint16_t)rdptmp;/*Waitforlastoperationtobecompleted*/status=FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);if(status!=FLASH_TIMEOUT){/*iftheprogramoperationiscompleted,disabletheOPTPGBit*/FLASH->CR&=~FLASH_CR_OPTPG;}}else{if(status!=FLASH_TIMEOUT){/*DisabletheOPTPGBit*/FLASH->CR&=~FLASH_CR_OPTPG;}}}/*Returntheerasestatus*/returnstatus;}请问有用过极海的读保护的吗,这个OPT.FLM文件去哪找

    单片机 xx 芯片 FLM 读写保护 F030

    3501浏览 0回复 7关注

没有更多了