问答

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

21ic问答首页 - TAG - 单片机
  • MM32F103定时器PWM输入捕获失败

    配置代码如下,有个PWM信号需要输入捕获计算频率,经查询数据手册PB11可以复用为TIM2_CH4,但怎么配置都不能正常进捕获中断,IC和PWM方式都试了不行,想问各位大佬该配置有啥问题,有没有什么解决办法 /*功能名称IM4_PWMINPUT_INIT(u16 arr,u16 psc) 描述 PWM输入初始化*/ void TIM2_PWMINPUT_INIT(u16 arr, u16 psc) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; TIM_ICInitTypeDef TIM2_ICInitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //Open TIM4 clock RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //open gpioB clock GPIO_PinRemapConfig(GPIO_PartialRemap2_TIM2,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); /*配置中断优先级*/ NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler = psc; //设置用来作为TIMx时钟频率除数的预分频值 TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位 TIM2_ICInitStructure.TIM_Channel = TIM_Channel_4; TIM2_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; TIM2_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; TIM2_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; TIM2_ICInitStructure.TIM_ICFilter = 0x00; TIM_ICInit(TIM2, &TIM2_ICInitStructure); // TIM_PWMIConfig(TIM2, &TIM2_ICInitStructure); //PWM输入配置 // TIM_SelectInputTrigger(TIM2, TIM_TS_TI1FP1); //选择有效输入端 // TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_Reset); //配置为主从复位模式 // TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable); TIM_ITConfig(TIM2,TIM_IT_CC3 | TIM_IT_CC4, ENABLE); //中断配置 TIM_ClearITPendingBit(TIM2,TIM_IT_CC3 | TIM_IT_CC4); //清除中断标志位 TIM_Cmd(TIM2, ENABLE); } void TIM2_IRQHandler(void) { if (TIM_GetITStatus(TIM2, TIM_IT_CC3) != RESET) { //捕获1发生捕获事件 } if (TIM_GetITStatus(TIM2, TIM_IT_CC4) != RESET) { //捕获1发生捕获事件 } TIM_ClearITPendingBit(TIM2, TIM_IT_CC3 | TIM_IT_CC4 |TIM_IT_Update); //清除中断标志位 }

    国产芯片 嵌入式 技术交流 单片机

    648浏览量 5回复量 关注量
  • MM32SPIN06的IWDG中断不生效

    MM32SPIN06的IWDG中断不生效,已经配置IWDG 溢出后产生中断 ,NVIC中使能IWDG中断,可是 IWDG 溢出后没有产生中断,而是复位了MCU

    MUC 单片机 技术交流

    28369浏览量 10回复量 关注量
  • GD32 MCU与其他设备间的SPI通信问题

    当GD32作为主机和从机进行SPI通信时,输出的NSS片选信号(比如下降沿),和输出的SCK时钟信号(相邻的上升/下降沿),之间有没有时间间隔要求?求各位大佬帮帮忙,谢谢! GD32的datasheet中,MCU作为主机的情况下,输出的NSS信号没有作详细的解释。 也就是说,怎么去设置这个NSS跳变的时间,才能让MCU作为主机在MOSI线上输出的指令能被从机正确识别?

    MUC 单片机 技术交流

    839浏览量 2回复量 关注量
  • PIC32MX534芯片调试时全局变量无法赋值,初始值为0XFFFF

    PIC32MX534芯片调试时全局变量无法赋值,初始值为0XFFFF,使用赋值指令没有作用,值不改变,在其他位置没有使用,也没有赋值。哪位知道怎么解决。

    MUC 单片机 技术交流

    460浏览量 4回复量 关注量
  • HK32F030M4P6小系统板误将11脚设置为普通输出囗 sos

    HK32F030M4P6小系统板,因初学误将11脚(PB5)设置为普通输出囗导到再次无法下载程序,请问如何解决?

    单片机

    952浏览量 0回复量 关注量
  • keil5里面没有凌鸥芯片的型号怎么办?

    怎么添加型号?是LKS32MC08x

    单片机

    20187浏览量 10回复量 关注量
  • 求助,jlink调试报错:could not stop Cortex-M... sos

    我把jlink的驱动卸载重装以后,点击单步调试,报错"could not stop Cortex-M device! Please check the JTAG cable", 有大神可以指导一下我吗 [url=D:\qj\PIC\1.png][img]D:\qj\PIC\1.png[/img][/url]

    单片机

    380浏览量 0回复量 关注量
  • 【GD32F330裸机-KEIL5环境】使用外部中断,debug卡死问题

    在注释掉PA1作为外部中断的配置语句后,debug可以正常运行。求助下论坛的高手们,我这个中断配置有问题吗?debug出现异常的原因可能在哪? void AD_GpioInit(void) { /* 配置时钟 */ rcu_periph_clock_enable(AD_GPIO_CLOCK); rcu_periph_clock_enable(RCU_CFGCMP); /* 配置PA1 */ gpio_mode_set(AD_GPIO_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, AD_GPIO_PIN); /* 将PA1映射到EXTI1 */ syscfg_exti_line_config(EXTI_SOURCE_GPIOA, EXTI_SOURCE_PIN1); /* 配置EXTI1 */ exti_init(EXTI_1, EXTI_INTERRUPT, EXTI_TRIG_BOTH); exti_interrupt_flag_clear(EXTI_1); nvic_irq_enable(EXTI0_1_IRQn, 2, 2); }

    单片机 国产芯片 嵌入式 技术交流

    665浏览量 3回复量 关注量
  • 请教一个GD32C103的CAN的采样点值与测试结果不一致的问题

    我在使用CAN通讯时,设置的CAN节点波特率为1MHz,采样点为75%,具体配置见图片,但是在使用测试设备测试单个节点的时候,测出的采样点只有35%。请问是我配置有问题吗,除了截图中的配置还有没有要配置的地方,麻烦大佬们答疑解惑,万分感谢!APB1上的时钟频率为60MHz。

    MUC 单片机 国产芯片 嵌入式 技术交流 技术资源

    1002浏览量 6回复量 关注量
  • ATtiny3217的DAC供电3.3V选4.3V挡位会有隐患吗 sos

    大家好,我需要用ATtiny3217的DAC功能输出一个0-3.3V的模拟量,但是该款MCU没有3.3V的挡位,然后选择了4.3V的挡位给单片机供电3.3V,效果最高确实是只能最高输出3.3V电压了。不知道这样操作会不会存在什么隐患,**各位大佬能帮忙解下惑。

    MUC 单片机 嵌入式 技术交流

    950浏览量 0回复量 关注量
  • 关于串口DMA等待传输完成卡死的问题 赏100家园币

    型号AT32F407,在USART2 DMA发送数据时,接包已经接到了要发送的数据,但是程序还是处于等待传输完成的标识判断中,卡死了。请教一下是什么造成的?

    嵌入式 国产芯片 单片机

    21994浏览量 44回复量 关注量
  • 禁用了jtag-dp + sw-dp,导致程序无法下载 sos

    在程序中禁用了jtag-dp + sw-dp,导致程序无法下载,不能只禁用jtag吗,为什么都禁用了,如何打开,恢复下载加入了以下代码: crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK, TRUE); gpio_pin_remap_config(SWJTAG_GMUX_100,TRUE);

    单片机 技术交流 国产芯片

    1109浏览量 0回复量 关注量
  • 关于JTAG,SWD禁用后,如何读取flash中的程序 sos

    有没有方法在不破坏MCU的情况下,**flash中的程序。想要实现一种简单的防盗模式翻译 [align=left]搜索[/align][align=left]复制[/align]

    单片机 国产芯片 TI 嵌入式 技术资源

    1142浏览量 0回复量 关注量
  • GD32F30x 关于 fmc 的位编程功能 sos

    几乎没有在互联网上找到任何资料,分析固件库发现相比整字编程,位编程指只是开启了 BPEN[size=3] [/size][size=3]FMC[/size][size=3]位编程功能使能寄存器。[/size][size=3]有没有友友有使用过这个功能的?刚刚试验了一下并不能正常重编程到指定地址。 [/size][size=3] [/size]

    单片机 国产芯片 嵌入式

    1051浏览量 0回复量 关注量
  • I2C一直卡在了while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND)); sos

    FlagStatus i2c_flag_get(uint32_t i2c_periph,uint32_t flag ) { uint32_t reg = 0U; FlagStatus reval = RESET; /* get the flag in which register */ reg = (BIT(31) & flag); if((BIT(31) == reg)){ if((I2C_STAT1(i2c_periph)&(flag & I2C_FLAG_MASK))){ reval = SET; }else{ reval = RESET; } }else{ if((I2C_STAT0(i2c_periph)&(flag & I2C_FLAG_MASK))){ reval = SET; }else{ reval = RESET; } } /* return the flag status */ return reval; } 这是代码部分,最后的if语句输入一直是RESET,这个问题究竟是什么原因???

    嵌入式 单片机 MUC 技术交流 I2c

    2674浏览量 0回复量 关注量