diim писал(а):приветствую всех форумчан!
спасибо за ответы! но как выяснилось простой код:
работает!
но это когда я создаю проект с начала с помощью мастера и без АЦП!!!
далее пробую создать новый проект но уже с АЦП, код перестаёт работать!!!
может стоит без мастера включить АЦП, чета он мудрит вроде?
так конечно, вы вообще как хотите чтобы кнопка работала?просто вкл выкл или от определенного напряжения.
Если все же собираетесь через напряжение покоментирую немного.
// Timer 0 overflow interrupt service routineinterrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code herea++;
if(a==150){read_adc(3);a=0;};
//считываем наряжение с PINB.3 результат записываем в ADCH//На самом деле тут мы ничего не записываем просто выполняется функция,а результат(ответ) теряется.}
if(a==150) лучше вместо этого посчитать когда сделать прерывание и совсем опустить эту строку,
а вместо нее оставить ADC_result=read_adc(3);
и вообще сама функция
read_adc как то быдлокодерски написана.
лучше конечно по прерыванию запускать ADC преобразование и выходить.А результат помещать в нужное место в прерывании от ADC об окончании преобразования.
вот про ADC для тини13
14. Analog to Digital Converter
14.1 Features
• 10-bit Resolution
• 0.5 LSB Integral Non-linearity
• ± 2 LSB Absolute Accuracy
• 13 - 260 µs Conversion Time
• Up to 15 kSPS at Maximum Resolution
• Four Multiplexed Single Ended Input Channels
• Optional Left Adjustment for ADC Result Readout
• 0 - V CC ADC Input Voltage Range
• Selectable 1.1V ADC Reference Voltage
• Free Running or Single Conversion Mode
• ADC Start Conversion by Auto Triggering on Interrupt Sources
• Interrupt on ADC Conversion Complete//Вот то что вам нужно:)• Sleep Mode Noise Canceler
В поисках истины человек развивается.