Events/2020/AVR: Difference between revisions

Line 2: Line 2:


== Code Samples ==
== Code Samples ==
=== Godbolt 1 ===
#define __AVR_ATmega328P__
#define __AVR_ATmega328P__
 
#include "https://raw.githubusercontent.com/vancegroup-mirrors/avr-libc/master/avr-libc/include/stdlib.h"
#include "https://raw.githubusercontent.com/vancegroup-mirrors/avr-libc/master/avr-libc/include/stdlib.h"
#include "https://raw.githubusercontent.com/vancegroup-mirrors/avr-libc/master/avr-libc/include/avr/io.h"
#include "https://raw.githubusercontent.com/vancegroup-mirrors/avr-libc/master/avr-libc/include/avr/io.h"
#include "https://raw.githubusercontent.com/vancegroup-mirrors/avr-libc/master/avr-libc/include/avr/interrupt.h"
 
#define DIRECTION_PORT DDRB
#define DIRECTION_PORT DDRB
 
int main()
int main()
{
{
   const int DIRECTION_MASK = 0b00001110;
   const int DIRECTION_MASK = 0b00001110;
   uint8_t direction = 0b00001010;
   uint8_t direction = 0b00001010;
   // https://github.com/gnea/grbl/blob/master/grbl/stepper.c#L324
   // https://github.com/gnea/grbl/blob/master/grbl/stepper.c#L324
   DIRECTION_PORT = (DIRECTION_PORT & ~DIRECTION_MASK) | (direction & DIRECTION_MASK);
   DIRECTION_PORT = (DIRECTION_PORT & ~DIRECTION_MASK) | (direction & DIRECTION_MASK);
  cli();
  sei();
   return 0;
   return 0;
}
}