ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
665103 Топик полностью
zeleny (04.04.2016 09:39 - 20:33, просмотров: 175) ответил IBAH на STM32. А кто как ивариантит настройку пределителя АЦП. Вообще настройка АЦП какое-то шаманство, если бы не визард, чокнутся можно! или я чего-то просто не понимаю
для F0: inline void adc_rate(ADC_TypeDef* adc, uint32_t rate){ adc->SMPR = (adc->SMPR & ~ADC_SMPR1_SMPR) | rate; } inline void adc_en(ADC_TypeDef* adc){ adc->CR |= ADC_CR_ADEN; } inline void adc_dis(ADC_TypeDef* adc){ adc->CR &= ~ADC_CR_ADEN; } inline u8 adc_ready(ADC_TypeDef* adc){ return adc->CR & (ADC_CR_ADEN); } inline void adc_start(ADC_TypeDef* adc){ adc->CR |= (uint32_t)ADC_CR_ADSTART; } inline void adc_init(ADC_TypeDef* adc, u32 resolution, u32 continuous, u32 align, u32 scan_dir, u32 ext_trig, u32 ext_edge){ adc->CFGR1 = (adc->CFGR1 & 0xFFFFD203) | resolution | (continuous << 13) | ext_edge | ext_trig | align | scan_dir; } inline void adc_rate(ADC_TypeDef* adc, uint32_t rate){ adc->SMPR = (adc->SMPR & ~ADC_SMPR1_SMPR) | rate; } inline u8 adc_eoc(ADC_TypeDef* adc){ return adc->ISR & ADC_ISR_EOC; } inline void adc_chn(ADC_TypeDef* adc, u32 chn){ adc->CHSELR = chn; } inline u16 adc_get(ADC_TypeDef* adc){ return adc->DR; } inline void adc_vref_on(){ ADC->CCR |= ADC_CCR_VREFEN; } inline void adc_vref_off(){ ADC->CCR &= ~ADC_CCR_VREFEN; } inline void adc_tref_on(){ ADC->CCR |= ADC_CCR_TSEN; } inline void adc_tref_off(){ ADC->CCR &= ~ADC_CCR_TSEN; }