-
ST的定时器配置问题
一般使用TIM的TIM_Cmd(TIM2,DISABLE);功能的话,在启用是不是需要重新配置定时器?我看网上建议直接关闭定时器的输出功能就行,不用关闭定时器。这样再启动配置还在。这样对吗?
2025-03-20 13 -
在ram开发板上装了很多软件很多环境怎么转移到新板
在ram开发板上装了很多软件很多环境,现在有一块新的开发板,我想把原开发板上的东西原封不动的复制过去,可以打包成镜像烧录过去吗?
2025-03-20 11 -
为什么ST现在推HAL库?不再推标准库了呢?
为什么ST现在推HAL库?不再推标准库了呢?HAL不是说比较冗余,需要MCU配置较高吗?
2025-03-20 11 -
STM32F103的模拟串口最多支持多少波特率?
如果现用的MCU只支持2个串口,先项目需要3个串口,你们一般怎么办?方式1:扩展芯片方式2:模拟串口方式3:更换芯片你们会选择哪种?还有就是STM32F103的模拟串口的话,一般支持多少波特率?
2025-03-20 11 -
coremark测试,用固件库和HAL来说,结果差别大么?
coremark测试,用固件库和HAL来说,结果差别大么?比如针对STM32F103的跑分来说
2025-03-20 11 -
使用单总线控制的电机驱动,它可能用ST的单片机吗?
一个可以驱动电机,使用单总线控制的,它可能是arm单片机吗?一端是单总线通讯,另一端直接接电机了,电路板上有个三极管还有一个芯片,芯片还没有晶振等MCU标识的东西,但感觉像一个MCU,这种可能是MCU吗?或者说,STM32是否可以实现呢?SOP8封装的
2025-03-20 13 -
stm32g0b1RTC时钟不准
用的是stm32g0b1的内部RTC,在外部电源供电时,时间不准确,当断开电源后,用内部电池时间准确;现在的产品是一个电源,怀疑是有干扰,除了去改善硬件,在MCU端如何处理?大家是否有遇到这种情况?
2024-09-30 13 -
求教CAN的字节序问题
CAN的扩展帧ID和数据帧都要进行大小端的转换吗?如帧ID是0x12345678是不是要转成0x78563412那么8位帧数据呢?如0123456789ABCDEF是不是要转成EFCDAB8967452301求指教?
2024-07-08 19 -
MM32F103定时器PWM输入捕获失败
配置代码如下,有个PWM信号需要输入捕获计算频率,经查询数据手册PB11可以复用为TIM2_CH4,但怎么配置都不能正常进捕获中断,IC和PWM方式都试了不行,想问各位大佬该配置有啥问题,有没有什么解决办法/*功能名称IM4_PWMINPUT_INIT(u16arr,u16psc)描述PWM输入初始化*/voidTIM2_PWMINPUT_INIT(u16arr,u16psc){TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;NVIC_InitTypeDefNVIC_InitStructure;TIM_ICInitTypeDefTIM2_ICInitStructure;GPIO_InitTypeDefGPIO_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//OpenTIM4clockRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//opengpioBclockGPIO_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_timTIM_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_IC
2023-12-15 5 -
关于GD32E230C8代替STM32F030C8的问题
在STM32CubeMX上创建STM32F030C8设置好的程序是否能直接用在GD32E230C8上?
2023-11-15 11 -
求助!!STM32F407VE DMA+FSMC+LCD,照片显示成4个小图
之前一直玩103,最近画了块板子F407Ve的,翻出1个之前的LCD,想通过DMA将数组中的图片,搬到FSMC挂的屏由于对407不是很熟,代码大部分都是通过F407ZE的代码,东拼西凑,改来的最终图片是显示出来了,但是被均分成了4小份显示出来了,例如:一张图240*320,变成了4张60*80的小图(不好意思,我上传不了图)然后就是各种线路排出,代码排查。快两个周了,还没找到问题1.DMA将照片搬到u8、u16、u32数组,数据都没有问题(数据顺序),几乎可以排除DMA代码的问题2.如果将数组的数据,按照1个点1个点向LCD写,图片也没问题3.只有在通过DMA将数据通过FSMC搬到LCD时,结果就变成4张小图(有可能是数据错位,1分裂成4了)所以跟人怀疑是FSMC导致的,但是各种试解决不了这是LCD地址#defineTFTLCD_BASE((u32)(0x60000000|0x0001FFFE))//Bank1.sector1+A16#defineTFTLCD((TFTLCD_TypeDef*)TFTLCD_BASE)这是FSMC复用部分配置GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_FSMC);//PD0FSMC_D2GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_FSMC);//PD1FSMC_D3GPIO_PinAFConfig(GPIOD,GPIO_PinSource4,GPIO_AF_FSMC);//PD4FSMC_NOEGPIO_PinAFConfig(GPIOD,GPIO_PinSource5,GPIO_AF_FSMC);//PD5FSMC_NWEGPIO_PinAFConfig(GPIOD,GPIO_PinSource8,GPIO_AF_FSMC);//PD8FSMC_D13GPIO_PinAFConfig(GPIOD,GPIO_PinSource9,GPIO_AF_FSMC);//PD9FSMC_D14GPIO_PinAFConfig(GPIOD,GPIO_PinSource10,GPIO_AF_FSMC);//PD10FSMC_D15GPIO_PinAFConfig(GPIOD,GPIO_PinSource14,GPIO_AF_FSMC);//PD14FSMC_D0GPIO_PinAFConfig(GPIOD,GPIO_PinSource15,GPIO_AF_FSMC);//PD15FSMC_D1GPIO_PinAFConfig(GPIOE,GPIO_PinSource7,GPIO_AF_FSMC);//PE7FSMC_D4GPIO_PinAFConfig(GPIOE,GPIO_PinSource8,GPIO_AF_FSMC);//PE8FSMC_D5GPIO_PinAFConfig(GPIOE,GPIO_PinSource9,GPIO_AF_FSMC);//PE9FSMC_D6GPIO_PinAFConfig(GPIOE,GPIO_PinSource10,GPIO_AF_FSMC);//PE1
2023-09-12 17 -
为什么STM32在使用定时器中断的时候ARR的参数不能给0?
我在使用ETR外部时钟信号时,想实现类似于外部中断的,信号来一次进入一次中断的操作。但是发现当TIM_Period参数给1-1,也就是0时,无法正常进入中断。但是将参数调整为2-1时,来两次信号又可以进入中断,请问这是为什么?uint16_tCount;voidTIM_QuicklyInit(void);intmain(void){TIM_QuicklyInit();OLED_Init();OLED_ShowString(1,1,"Counts:");while(1){OLED_ShowNum(2,1,Count,4);OLED_ShowNum(3,1,TIM_GetCounter(TIM2),1);}}voidTIM_QuicklyInit(void){RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitTypeDefGPIOInitstructure;GPIOInitstructure.GPIO_Mode=GPIO_Mode_IPD;GPIOInitstructure.GPIO_Pin=GPIO_Pin_0;GPIOInitstructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIOInitstructure);TIM_ETRClockMode2Config(TIM2,TIM_ExtTRGPSC_OFF,TIM_ExtTRGPolarity_Inverted,0x0F);TIM_TimeBaseInitTypeDefTimeInitstructure;TimeInitstructure.TIM_CounterMode=TIM_CounterMode_Up;TimeInitstructure.TIM_ClockDivision=TIM_CKD_DIV4;TimeInitstructure.TIM_Period=1-1;TimeInitstructure.TIM_Prescaler=1-1;TimeInitstructure.TIM_RepetitionCounter=0;TIM_TimeBaseInit(TIM2,&TimeInitstructure);TIM_ClearFlag(TIM2,TIM_FLAG_Update);TIM_Cmd(TIM2,ENABLE);TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitTypeDefNVICInitstructure;NVICInitstructure.NVIC_IRQChannel=TIM2_IRQn;NVICInitstructure.NVIC_IRQChannelCmd=ENABLE;NVICInitstructure.NVIC_IRQChannelPreemptionPriority=2;NVICInitstructure.NVIC_IRQChannelSubPriority=2;NVIC_Init(&NVICInitstructure);}voidTIM2_IRQHandler(void){if(TIM_GetFlagStatus(TIM2,TIM_IT_Update)==SET)Count++;TIM_ClearFlag(TIM2,TI
2023-09-04 8 -
DS18B20初始化失败,但延时是达到要求的
用的正点原子的ds18b20驱动,移植到自己的cubemx生成的stm32f103c6t6工程中,无法成功初始化ds18b20在程序中表现为ds18b20不进行应答,超过240微秒.之后通过逻辑分析仪来检测,得到stm32这边确实延时了750微秒,达到拉低总线的要求,并放开了总线,但ds18b20始终不应答相关硬件用在原先的正点原子开发板上正常运作,放到自己的c6t6上就是不工作求问各位朋友,是哪里出问题了
2023-04-02 66