esp32串口打印汉字好像 有问题,sscom无法识别...
esp32定时器的使用和stm32还是有一些区别的,esp32是通过一个定时器句柄来操作,不需要关心那个定时器组,哪个定时器,而stm32则是需要自己选择哪一个定时器,大致上也是差不多一个过程大致流程需要一个全局的 gptimer_handle_t 类型的变量:围绕这...
期待你的精彩评论 加入1965人围观esp32定时器的使用和stm32还是有一些区别的,esp32是通过一个定时器句柄来操作,不需要关心那个定时器组,哪个定时器,而stm32则是需要自己选择哪一个定时器,大致上也是差不多一个过程大致流程需要一个全局的 gptimer_handle_t 类型的变量:围绕这...
期待你的精彩评论 加入1965人围观
使用的是stm32f429ZGT6 ,如何根据数据手册配置LTDC
使用stm32f407zgt6的RMII接口驱动LAN8720的一些踩过的坑
stm32 adc采样参数
使用spi读取xpt2046的一直错误,表现为,读取的adc数据在屏幕上分布不均匀
具体表现为:在屏幕的中心范围比较大的一圈,按下,读取到的adc值都是不变的,但是按照电阻屏的原理,这是不可能的事情,正常情况下,adc的采样值,应该在屏幕的横纵坐标上,应该是均匀的,按照一定比例的变化
通过函数传入一个指针,在函数中计算完毕,将值赋值给这个指针,发现,只要涉及小数计算的时候,直接进入硬件错误,去掉小数部分的计算,则一点问题都没有
问题代码:
// 读取电压(单位:mV) 电压值需按公式转换:VCELL = (data[0] << 8 | data[1]) * 78.125μV
HAL_StatusTypeDef MAX17048_ReadVoltage(uint16_t *voltage) {
uint8_t reg = REG_VCELL;
uint8_t data[2];
HAL_StatusTypeDef status = HAL_I2C_Master_Transmit(&hi2c2, MAX17048_ADDR, ®, 1, 1000);
if (status != HAL_OK) return status;
status = HAL_I2C_Master_Receive(&hi2c2, MAX17048_ADDR, data, 2, 1000);
*voltage = (data[0] << 8 | data[1])*78.125/1000;
return status;
}
显示长文件名
如题所示,仿真定时器的时候,快于实际设定的值,原因在于设置仿真的时钟频率要正确
void MX_TIM2_Init(void)
{
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
TIM_MasterConfigTypeDef sMasterConfig = {0};
htim2.Instance = TIM2;
htim2.Init.Prescaler = 71;
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
htim2.Init.Period = 999;
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
{
Error_Handler();
}
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
__HAL_TIM_ENABLE(&htim2); // 启动定时器2
}