اطلاعیه

Collapse
No announcement yet.

آیا با avr میتوان از یه موج الکتیکی انتگرال گیری کرد؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : پاسخ : آیا با avr میتوان از یه موج الکتیکی انتگر

    نوشته اصلی توسط tohid041
    خودم تا حالا ازش استفاده نکردم :mrgreen:
    برای را ه اندازی خودکار مبدل استفاده میشه
    اینا رجیستر های adc هست ، توضیحاتشونو بخون شاید بدردت خورد
    کد:
    /**
     * registers :
     * 
     *     ADCSRA : ADC control and status register
     *  /-------+-------\
     *  7 6 5 4  3 2 1 0
     *  ^ ^ ^ ^  ^ \-+-/
     *  | | | |  |  +----- ADPS2,1,0 : ADC prescaler select
     *  | | | |  +--------- ADIE : ADC interrupt enable
     *  | | | +------------- ADIF : ADC interrupt flag
     *  | | +--------------- m32,m16=ADATE : ADC auto trigger enable - m8=ADFR : ADC free runing
     *  | +----------------- ADSC : ADC start conversion
     *  +------------------- ADEN : ADC enable
     * 
     *     ADMUX : ADC multiplexer selection register
     *  /-------+-------\
     *  7 6 5 4  3 2 1 0
     *  \+/ ^ \----+----/
     *  | |   +-------- MUX4,3,2,1,0 : analog channel and gain selection
     *  | +--------------- ADLAR : left adjust result
     *  +------------------ REFS1,0 : reference selection
     * 
     *     SFIOR : special function IO register
     *  /-------+-------\
     *  7 6 5 4  3 2 1 0
     *  \-+-/ ^  ^ ^ ^ ^
     *   |  |  | | | +--- PSR10 : prescaler reset timer/counter1&0
     *   |  |  | | +----- PSR2 : prescaler Reset timer/counter2
     *   |  |  | +------- PUD : pull-up disable
     *   |  |  +--------- ACME : analog comparator multiplexer enable
     *   |  +------------- m8=ADHSM : ADC high speed mode
     *   +----------------- ADTS2,1,0 : ADC auto trigger source
     * 
     *  ADCW=ADCH,ADCL : ADC data registers
     */
    اینا هم مد های راه اندازی خودکارشن :
    کد:
    #define ADC_FREE_RUN       (0<<ADTS2|0<<ADTS1|0<<ADTS0)<<16 /* free running */
    #define ADC_TRIGGER_ACMP     (0<<ADTS2|0<<ADTS1|1<<ADTS0)<<16 /* analog comparator */
    #define ADC_TRIGGER_IRQ0     (0<<ADTS2|1<<ADTS1|0<<ADTS0)<<16 /* external IRQ0 */
    #define ADC_TRIGGER_TIMER0_CMP  (0<<ADTS2|1<<ADTS1|1<<ADTS0)<<16 /* timer/counter0 compare match */
    #define ADC_TRIGGER_TIMER0_OVF  (1<<ADTS2|0<<ADTS1|0<<ADTS0)<<16 /* timer/counter0 overflow */
    #define ADC_TRIGGER_TIMER1_CMPB (1<<ADTS2|0<<ADTS1|1<<ADTS0)<<16 /* timer/counter1 compare match B */
    #define ADC_TRIGGER_TIMER1_OVF  (1<<ADTS2|1<<ADTS1|0<<ADTS0)<<16 /* timer/counter1 overflow */
    #define ADC_TRIGGER_TIMER1_CAPT (1<<ADTS2|1<<ADTS1|1<<ADTS0)<<16 /* timer/counter1 capture event */
    باسلام

    روش خوبی برای دسترسی سریع به ریجسترها بود من خیلی خوشم آمد میخواستم ببینم برای بقیه ریجسترها هم با این روش رفرنسی سراغ دارید بازهم تشکر میکنم

    دیدگاه


      #17
      پاسخ : آیا با avr میتوان از یه موج الکتیکی انتگرال گیری کرد؟

      بله این کد ها قسمتی از کتابخونه ای هس که میتونین از این تاپیک دانلود کنین :
      http://www.eca.ir/forum2/index.php?topic=81372.0
      گذشت خصلت مردان است

      دیدگاه

      لطفا صبر کنید...
      X