站内搜索
发作品签到
avatar
dmaismdio
F103c8t6 Sys Debug serial wire Rcc 两个都最后 Gpio pc13 变成output Adc1 最后切换根据题目 Usar1 asnch Freertos -v2 -task 上面右,下面中间 hclk改成72 再右边 projeckname学号,不能有中文,toolchain 改成mdk code generate 勾选。h 然后生成 换代码 33333放在application user core 主函数 #include #include 33333粘贴到application user core -adc.c的103 行 uint32_t Adc_Read() { uint32_t adc=0,vcc=0; HAL_ADC_Start(&hadc1); if(HAL_ADC_PollForConversion(&hadc1, 100)==HAL_OK) { adc=HAL_ADC_GetValue(&hadc1); } vcc=(1200*4096)/adc; return vcc; } 333333放到freetos·c下面的for char buf[20]; uint16_t VCC; VCC = Adc_Read(); sprintf(buf,"vcc:%u mv\r\n",VCC); HAL_UART_Transmit(&huart1,(uint8_t *)buf,strlen( ),HAL_MAX_DELAY); HAL_Delay(1000); 333333放到adc 106行 float Get_Temperature(void) { float adc_value, voltage, temperature; uint32_t sum = 0; for (int i = 0; i < 8; i++) { HAL_ADC_Start(&hadc1); HAL_ADC_PollForConversion(&hadc1, 10); sum += HAL_ADC_GetValue(&hadc1); HAL_ADC_Stop(&hadc1); } adc_value = (float)sum / 8.0f; // 3. 计算温度 voltage = adc_value * VREF / 4095.0f; temperature = ((V25 - voltage) / AVG_SLOPE) + 25.0f; return temperature; } 333333全放adc24行 #define VREF 3.3f // 假设VDDA电压 #define V25 1.43f // 25°C时传感器电压值 #define AVG_SLOPE 0.0043f // 温度系数(mV/°C)
  • 0关注
  • 0粉丝
  • 0获赞
  • 0积分