lixiang
获得 1 次赞
帮助过127人
请教各位,我创建一个日志任务,通过串口输出,偶尔出现日志混乱,看源码里面,xQueueGenericSend是有调用prvLockQueue的,不知为何?求教。
如图,PT100在电桥和放大电路,AD转换器之间的关系转换,最好能贴出公式或者计算过程,未知量可以用x,y代替,谢谢大佬们我是真的绕不过来了
电调解锁好后 输入占空比 电机不转动 也不发出声音 这是啥原因 还有我在用串口通信控制无刷电机时,将代码烧录后,led灯没有闪烁,用串口调试助手也没有反应,可当我将关于无刷电机的代码移除后,串口通信恢复了正常,不知道这是何原因,求各位前辈赐教。(无刷电机代码我在单独运行时是OK的)
我用的是定时器触发ADC采样,在ADC中断当中通过调用函数 HAL_ADC_GetValue(&hadcx); 来获取AD寄存器值, 该函数当中只有 return hadc->Instance->DR; 返回DR的值,请问:ADC是何时采集数据的呢? 猜想1:定时器触发之后先采样,采样完成在进入中断
请教各位一个问题 代码使用RTOS(UCOSII + 定时器PWM) 控制电机. 但是发现一个奇怪的想象在调用后发现有时候函数执行完毕没有任何反应使用示波器测量后发现未产生PWM. 代码如下: GPIO_InitTypeDef GPIO_InitStructure; TIM_OCInitTypeDef TIM_OCInitStructure; cpu_sr = OS_CPU_SR_Save(); GPIO_InitStructure.GPIO_Pin = xxxxx; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(xxxxx &GPIO_InitStructure); GPIO_ResetBits(xxxxx xxxxx); GPIO_InitStructure.GPIO_Pin = xxxxx; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(xxxxx &GPIO_InitStructure); TIM_Cmd(TIM4 DISABLE); TIM_OC1PreloadConfig(TIM4 TIM_OCPreload_Enable); TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCPolarity_Low; TIM_OCInitStructure.TIM_Pulse = 500; TIM_OC2Init(TIM4 &TIM_OCInitStructure); TIM4->EGR = TIM_PSCReloadMode_Immediate; TIM_Cmd(TIM4 ENABLE); OS_CPU_SR_Restore(cpu_sr); 复制代码 目前在不停的测试中发现几点: 1. 如果更改优化等级的话会生效但是其他的函数又会出现问题. 2. 目前如果不使用PWM一切正常函数调用也正常. 3. 定时器使用的1K频率. 想请问下各位是不是哪里弄错了?