Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
attiny [2019/12/06 15:44] – created yairattiny [2019/12/14 17:12] – [pinouts] yair
Line 1: Line 1:
 attinyX5 Family in all their gory details attinyX5 Family in all their gory details
  
 +
 +====pinouts====
 +===ATtinyx5===
 +<code c>
 +     ATTiny pinout
 +                         +-\/-+
 +                  Reset 1|    |8  VCC
 +    (pin3) in 0 A3  PB3 2|    |7  PB2 (pin2) out mixed / SCK
 +    (pin4) in 1 A2  PB4 3|    |6  PB1 (pin1) out 1 / MISO
 +                    GND 4|    |5  PB0 (pin0) out 0 / MOSI
 +                         ------
 +</code>
 {{:atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf|ATtiny25-ATtiny45-ATtiny85_Datasheet}} {{:atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf|ATtiny25-ATtiny45-ATtiny85_Datasheet}}
-====prescaler====+ 
 +===USBASP V2.0=== 
 +{{:usbasp-v2.0-idc-pinout.png?300}}\\ 
 +found [[https://tosiek.pl/usbasp-v2-0-warning-cannot-set-sck-period/|here]] 
 + 
 +drivers, linux "just works":, windows is [[https://forum.arduino.cc/index.php?topic=415210.msg2862244#msg2862244|a mess]] 
 +====System Clock Prescaler====
 goal:to control prescaler goal:to control prescaler
  
-System Clock Prescaler 
 {{:chrome_ild7w9tbtp.png}} {{:chrome_ild7w9tbtp.png}}
  
-in [[https://github.com/idiot-io/MindFuckHS/blob/master/code/AT852LFO/AT852LFO.ino|mindfuckHS code]] original auther has this to say about his clock cinfiguration+in [[https://github.com/idiot-io/MindFuckHS/blob/master/code/AT852LFO/AT852LFO.ino|mindfuckHS code]] original author has this to say about his clock configuration
 <code c> <code c>
 /* /*
Line 16: Line 33:
    See table 13-5    See table 13-5
    CS13, CS12, CS11, CS10 = [ 0, 0, 1, 0] is prescaler/2    CS13, CS12, CS11, CS10 = [ 0, 0, 1, 0] is prescaler/2
 +                  ------
 */ */
 +</code>
 +and
 +<code c>
 +// the setup function runs once when you press reset or power the board
 +void setup() {
 +
 +  DDRB = B00000111;  //could use this
 +
 +  // initialize timer1
 +  noInterrupts();           // disable all interrupts
 +
 +  TCCR1 = 0;                  //stop the timer
 +  TCNT1 = 0;                  //zero the timer
 +
 +  OCR1A = 200;     //50           //set the compare value
 +  OCR1C = 200;       //50         //set the compare value  ??? needed
 +
 +  TIMSK = _BV(OCIE1A);        //interrupt on Compare Match A
 +
 +  TCCR1 = _BV(CTC1) | _BV(CS11); // Start timer, ctc mode, prescaler clk/2
 +
 +  interrupts();             // enable all interrupts
 +}
 +
 </code> </code>
 {{:pasted:20191206-134349.png}} {{:pasted:20191206-134349.png}}