stm32
文章平均质量分 59
攻城狮之路人甲
这个作者很懒,什么都没留下…
展开
-
F429驱动TFT裸屏时LTDC
时序参数的配置也比较容易,其实就是先看F429参考手册上面的公式说明,说是公式,其实就是简单的加减法。这个的配置要看OTA7001手册上面的时序图,对于DE模式,行同步和场同步的极性配置为高或者为低均可。所以主要配置DE的极性,这里要特别注意一个小问题,看时序图是DE高电平时数据有效,但是配置的时候要设置为低电平才可以。通过这些参数,直接给变量赋值,我们这里直接取典型值,如果大家实际测试的时候效果不是很好,怎么知道效果不好呢,最简单的方式就是可以在显示屏的边界显示一个方框,看看是否有错位。原创 2023-06-23 10:17:32 · 424 阅读 · 0 评论 -
正点原子STEMWIN死机
我发现GT9147_RD_Reg(GT_GSTID_REG,&mode,1),没有触点时,多次能读到0xFF(当然还有别的异常值)。在CTIIC.C中,优化了三个函数,测试OK(无触点或者数据没有准备oK,GT9147_RD_Reg(GT_GSTID_REG,&mode,1);有一个触点,mode=0x81,多个mode=0x8*)在用正点原子STM32F4开发板,搭配对应的button历程时,发现运行一会,button都无法使用了,以为是emwin死机了,但是看到Led还在闪烁,排除系统死机问题。原创 2023-04-17 22:13:00 · 425 阅读 · 0 评论 -
STM32进入STOP模式的唤醒
STM32进入STOP模式的唤醒,需要重启后开启看门狗之前做处理原创 2022-09-23 15:29:51 · 1460 阅读 · 0 评论 -
MCU 分散加载,STM32,GD32
RW以及ZI数据段的初始化是在分散加载过程中完成的,也就是在__main中完成的,比如你定义一个全局变量,并给它赋值,只有在__main结束后你才能看到这个全局变量被赋值成功的,也就是说在__main之前,使用全局变量是行不通的。简单来说就是让编译器告诉MCU内核哪里存的是代码、哪里存的是数据,去哪个特定的地址找到下一步需要运行的函数,就是告诉编译器把每一个编译好的函数、数据放到具体的哪一个物理地址。*在片内程序运行区(一般是片内SRAM)内分配ZI数据段运行需要的空间并把这段数据初始化为0;...原创 2022-07-15 15:10:16 · 1113 阅读 · 1 评论 -
HAL库中修改systick为10ms
UCOS中的tick一般为10ms,但是hal库中默认是1ms,为此需要修改stm32l4xx_hal.cHAL_InitTick中修改如下if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) == 0U) // 1msif (HAL_SYSTICK_Config(SystemCoreClock / (100U / uwTickFreq)) == 0U) // 10ms...原创 2022-04-22 14:32:45 · 646 阅读 · 2 评论 -
HAL库中ucos新建任务失败
在STM32103上用的标准库文件运行的ucos没有问题。但是用hal库之后就无法建立任务,经过调试后发现OSTaskCreateExt中的OS_ERR_TASK_CREATE_ISR错误,究其原因是SysTick_Handler的10ms中断使得OSIntNesting++,但是由于OS还没有运行且OSRunning为false导致OSIntExit时无法OSIntNesting--,所以任务就建立失败。解决办法:在OS启动前先停止(HAL_SuspendTick())SysTick_Handler中原创 2022-03-30 15:25:56 · 454 阅读 · 0 评论 -
STM32 HAL库获取系统时钟与标准库获取系统时钟
HAL库SysClk = HAL_RCC_GetSysClockFreq(); HClk = HAL_RCC_GetHCLKFreq(); PClk1 = HAL_RCC_GetPCLK1Freq(); PClk2 = HAL_RCC_GetPCLK2Freq();标准库RCC_GetClocksFreq(&RCC_ClocksStatus);原创 2021-12-29 15:55:26 · 3216 阅读 · 0 评论 -
STM32 CUBE中TIMER比较输出
TIMER3的的Channel1输出,在TIM3的HAL_TIM_PeriodElapsedCallback中断中GPIO7翻转,在TIM3的HAL_TIM_OC_DelayElapsedCallback 中选取TIM3的一般周期翻转GPIO8或者可以通过sConfigOC.OCMode = TIM_OCMODE_TOGGLE直接翻转TIM3的比较输出映射GPIO6void MX_TIM3_Init(void){ TIM_ClockConfigTypeDef sClockSourceCon.原创 2021-11-18 11:40:27 · 4195 阅读 · 0 评论 -
STM32使用cubemx的uart空闲中断接收不定长度数据
void USART3_IRQHandler(void){ /* USER CODE BEGIN USART3_IRQn 0 */ /* USER CODE END USART3_IRQn 0 */ HAL_UART_IRQHandler(&huart3); /* USER CODE BEGIN USART3_IRQn 1 */ HAL_UART_IDLE_IRQHandler(&huart3); /* USER CODE END USART3_IRQn 1 *...原创 2021-08-28 17:16:06 · 624 阅读 · 0 评论 -
STM32标准外设库、 HAL库、LL库
https://www.cnblogs.com/King-Gentleman/p/6973642.html注意:标准外设库不支持从STM32 L0,L4和F7开始的之后的STM32系列芯片工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发库。到目前为止,有标准外设库(STD库)、HAL库、LL库三种。前两者都是常用的库,后面的LL库是ST最近才添加,目前支持的芯片也偏少。各库如下所示:其中STD库和HAL库两者相互独立,互不兼容。几种库的比较如下:目前几种..原创 2021-08-19 18:01:35 · 4494 阅读 · 0 评论 -
TimX_Ch1与TimX_Ch1N的差异
TIM1_CH1和TIM1_CH1N,用于驱动上下两个功率管。如果Deadtime为0,则 TIM1_CH1N是TIM1_CH1的反相,如果Deadtime不为0,则在TIM1_CH1N上插入了Deadtime,防止上下功率管同时导通。TIM1_CHxN是TIM1_CHx的互补输出,互补输出不能配置为TIM的输入引脚,所以不能通过增量编码方式完成计数功能,所以TIM1_CHxN可以实现PWM输出但是不能实现输入捕获。总结: 如果需要PWM输入捕获,必须使用TimX_Ch1或者TimX_Ch2,...原创 2021-08-19 09:54:34 · 4013 阅读 · 0 评论 -
关于stm32单片机低功耗的实现和唤醒
https://www.cnblogs.com/young-dalong/p/13921709.html关于stm32单片机低功耗的实现和唤醒最近做的项目中要求低功耗,在单片机完成了手头上的工作之后,就进入低功耗模式,项目的需求是单片机进入低功耗模式的时候系统时钟从HSE切到HSI,但是在未进入低功耗模式之前引脚是什么状态,进入低功耗模式之后也不应该改变。可以通过RTC定时唤醒,或者接收到串口数据就唤醒,处理完数据后再进入stop模式。查询了一些资料之后,发现stop模式最符合项目需求。下面讲述原创 2022-07-12 15:26:10 · 8097 阅读 · 3 评论 -
stm32f407 定时器 用的APB1 APB2 及 定时器频率
从时钟树中我们可以得知(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线(2)通用定时器timer2~timer5,通用定时器timer12~timer14以及基本定时器timer6,timer7的时钟来源是APB1总线从STM32F4的内部时钟树可知,当APB1和APB2分频数为1的时候,TIM1、TIM8~T...转载 2020-01-08 10:42:35 · 7308 阅读 · 0 评论 -
STM32 待机模式与看门狗和谐相处
由于在standby mode,看门狗仍然能继续工作,但是其他时钟都关闭了,没法喂狗,这样会导致mcu不停复位。网上找的方法如下:1. 开启RTC,定期喂狗后再次睡眠。该方法视乎可行,但是不够省电。 2,使用复位标志,区分上电复位和看门狗复位。if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)但是实际测试有问题,STM32...原创 2019-09-03 20:13:25 · 4031 阅读 · 2 评论 -
STM32之待机唤醒 (转载)
转载:https://www.cnblogs.com/alvis-jing/p/3712106.html前段时间我稍微涉及节能减排大赛、、倡导节能的社会、、没错了、你真是太聪明了、、知道了我今天要讲关于STM32节能方面的模块、、没错、、这标题已经告诉你了是吧、、哦,对,标题有写、、所以、、言归正传、至于STM32如何达到节能的、、语文老师说要留下悬念、、跟着作者走下去、、也就是跟我啦...转载 2019-08-27 16:03:04 · 2900 阅读 · 3 评论