-
请教 使用LL库进行SPI通讯提示数据溢出 接收到的数据也不对
问题描述:STM32F405单片机,使用CubeMX5.2.0版本,与adc121s101芯片通讯,使用LL库编写SPI单接收程序;总是提示SPI溢出,并且收到的数据也不对;目前排除了硬件问题,用HAL库可以实现。目前调试了2周,尝试了各种办法,修改SPI参数,修改速度,查询、中断、DAM方式都试了,还是不行。程序截图:
2024-10-24 1 -
STM32F407 同一个定时器的两个通道产生的PWM脉冲不对
STM32F407VE,使用定时器1同时产生两路PWM波两路PWM产生的脉冲数不一样时,实际产生的脉冲不对,会少1个实际上是不能使用这种方式做吗?
2024-04-23 16 -
NUCLEO-F103RB在升级ST-Link时,导致ST-Link不能使用,求助!
NUCLEO-F103RB在用STLinkUpgrade升级ST-Link时,选择ChangeType和STM32Debug+VCP,然后点击yes后电脑就不认这全板上的ST-Link了,也没有显示U盘。请问怎么修复?
2023-09-06 7 -
为什么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 -
STM32的DMA中传输数据宽度与实际宽度不符会怎样?
如果uint16_tA[]={0,1,2,3},B[]={0,0,0,0};要将A数组的数据用DMA传递到B数组中,但是在设置数据宽度的时候设置的是一位DMA_Initstructure.DMA_MemoryDataSize=DMA_MemoryDataSize_Byte。将结果显示在OLED屏幕上,结果只有前两个数正确的传到了B数组中,B数组在OLDE上显示的是0,1,0,0。出现这种问题的根本原因是什么。
2023-08-21 21 -
关于中断的问题,Disable中再Enable中断无法正常运行
Disable中断之后再Enable无法正常运行,这是中断函数:voidHAL_GPIO_EXTI_Rising_Callback(uint16_tGPIO_Pin){if(GPIO_Pin==GPIO_PIN_3){HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);HAL_NVIC_DisableIRQ(EXTI2_3_IRQn);EXIT_Sign=1;}}这是while循环while(1){/USERCODEENDWHILE/if(EXIT_Sign==1){HAL_Delay(2000);MX_GPIO_Init();HAL_NVIC_EnableIRQ(EXTI2_3_IRQn);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);EXIT_Sign=0;}/USERCODEBEGIN3/}这样是可以实现功能的,但是只要注释掉if里面的MX_GPIO_Init();或者HAL_NVIC_EnableIRQ(EXTI2_3_IRQn);这两个注释掉一个就无法实现功能。我的问题是:MX_GPIO_Init();函数里面有使能中断语句了HAL_NVIC_EnableIRQ(EXTI2_3_IRQn);为啥在if里面还得再重复一遍这个使能函数呢。不知道我有没有说明白,请各位大佬们帮忙解答一下。
2023-02-22 34 -
stmf4 f407程序直接下载到f427可以吗
旧项目407程序主要是用DM9000+lwip做tcp服务器,跟上位机通讯,现在移植到427上有区别吗。之前没注意到这个问题改了下外部晶振就直接烧录了,目前串口通讯什么的可以实现,两个布板的时候mcu跟dm9000的IO连接都一样,但是pc端pingmcu一直ping不通,这个跟两款芯片的差别有关系吗
2022-09-20 13 -
stm8s003f3如何预先把部份数据写入EEPROM?
请问各位大佬,stm8s003f3如何预先把部份数据写入EEPROM?要编写什么文件呢?
2021-11-26 4 -
请教 STM32F030的USART 开启时奇偶校验切换问题
STM32F030C8T6必须在关闭USART时才可以切换奇偶校验USART_Cmd(USART2,DISABLE);我的程序中需要随时切换奇偶校验,串口不能关闭。请教有无办法实现。测试在STM32F103C8T6芯片可以不关闭下切换校验。
2021-09-24 7 -
STM32G070RBT6开发过程记录
本帖最后由udemail于2021-5-212:29编辑STM32G070RBT6,请问哪个版本的STVP支持这颗芯片?
2021-04-28 11 -
定时器工作不正常
MCU型号:STM32F103VCT6,用定时器TIM8,TIM2,TIM4的正交编码器模式计数,模式为编码器模式3,4倍频方波计数。有2点:1、函数初始化都是一个,唯独TIM2不计数,其他2个都正常2、早起版本也正常新版本和旧版本就程序没有差别,可以肯定程序代码是拷贝过来的,没有做什么修改,在同一块板子上试出现的这个问题,只是最近系统重装过,KEILV5.30版本。升级旧版本的程序,还是能正常工作就是不明白为什么会这样,是否系统原因呢?不知道有没有哪个大咖陪到过类似的问题,请指教,谢谢先
2021-02-28 1 -
请问 STM32F407ZGT6 内存大小的问题
型号:STM32F407ZGT6,Heap_SizeEQU0x00000700可以编译通过,Heap_SizeEQU0x00000800就出错了?intmain(void){char*p1=(char*)malloc(1024);if(p1==NULL){chara;a='a';}}Error:L6406E:Nospaceinexecutionregionswith.ANYselectormatchingsystem_stm32f4xx.o(.data).请问是什么原因啊。Stack_SizeEQU0x00000400AREASTACK,NOINIT,READWRITE,ALIGN=3Stack_MemSPACEStack_Size__initial_sp;HeapConfiguration;HeapSize(inBytes);Heap_SizeEQU0x00000800AREAHEAP,NOINIT,READWRITE,ALIGN=3__heap_baseHeap_MemSPACEHeap_Size__heap_limitPRESERVE8THUMB
2021-02-22 20