monos писал(а):
Только что вы обсуждали решение задачи ккм+преобразователь на 8-битнике at90pwm316 с реализацией аналоговых функции внешней обвеской..
https://www.microchip.com/en-us/search? ... 6rows%3D10стесняюсь спросить, а де внешняя аналоговая? она вся внутри так-то.
снраужи делители там, конденсаторы всякие.
и да, pwm, как у дурака махорки, с простым сишным, не сказать примитивным, кодом , а тут понеслось, как у силабса, конфигураторы, новые косяки, отсутствие доступа к ресурсу и прю прелести.
вот пример конфигуртора управления вентилятором в авто (синхронный выпрямитель)
Код:
#define USE_PSC0
#define PSC0_PLL_FREQUENCY 64 //!< 0: use I/O clk 32: 32MHz PLL 64: 64MHz PLL
#define PSC0_OUTPUT_SELECTION 1 //!< 0: none 1: pscout00 2: pscout01 3: pscout00 and pscout01
#define PSC0_ACTIVE_STATE 1 //!< 0: active low 1: active high
#define PSC0_RAMP_MODE 4 //!< 0: centered mode 1: One ramp mode 2: Two ramps mode 4: For ramps mode
#define PSC0_FIFTY_PERCENT_MODE 0 //!< 0: no fifty percent mode 1: fifty percent mode
#define PSC0_SYMETRICAL_FLANK_WIDTH_MODULATION 0 //!< 0: no symetrical FWM 1: symetrical FWM
#define PSC0_AUTOLOCK_MODE 0 //!< 0: no autolock mode 1: autolock mode
#define PSC0_PRESCALER_DIVIDER 0 //!< 0: no divider 4: divide by 4 16: divide by 16 64: divide by 64
#define PSC0_A_INPUT_MODE 0xA9 // "PSC Input Mode 9
#define PSC0_A_Enable_Input /*1*/ 0 /*// 1:
#define PSC0_A_Input_Select 1 /*// 0: digital 1: analog comparator*/
#define PSC0_A_Input_Level 1 /*// 0: falling 1: rising*/
#define PSC0_B_INPUT_MODE 0xB9 // "PSC Input Mode 9
#define PSC0_B_Enable_Input 0 // 1:
#define PSC0_B_Input_Select 1 // 0: digital 1: analog comparator
#define PSC0_B_Input_Level 1 // 0: falling 1: rising
#define PSC0_AUTORUN 0 falling 1: rising
#define USE_ADC
#define ADC_RIGHT_ADJUST_RESULT 0 //!< 0: Result left adjusted 1: Result right adjusted
#define ADC_INTERNAL_VREF 2 //!< 0: External Vref 1: Internal Vref 2: Vref is connected to Vcc
#define ADC_IT 1 //!< 0: No ADC End of Conv IT 1: ADC End of conversion generates an IT
#define ADC_PRESCALER 128 //!< 2, 4, 8, 16, 32, 64, 128 : The input ADC frequency is the system clock frequency divided by the const value
#define Vcc_ADC8_CHANNEL 8
#define R_Set_ADC6_CHANNEL 6
#define Vos_ADC5_CHANNEL 5
//#define ADC_OFF 0 //! GND_CHANNEL< First time the ADc is used
#define I_CONV 3 //!< The ADC is converting or just have converted the I_CHANNEL
//! Defines allowing to init the Amplifier 1 with
#define USE_COMP0
#define COMPARATOR0_IT 1 //!< 0: No Comparator 0 IT 1: Comparator 0 event generates an IT
#define COMPARATOR0_IT_EVENT 2 //!< 0: IT on toggle 2: IT on falling edge 3: IT on rising edge
#define COMPARATOR0_NEGATIVE_INPUT 4 /*//!< 0: Vref/6.40 1: Vref/3.20 2: Vref/2.13 3: Vref/1.60
// 4:ACMPM pin