Home Code OpenM128 AVR development board flashing LED examples

OpenM128 AVR development board flashing LED examples

In this example we simply flashed the LEDs on a Waveshare OpenM128 AVR development board – I am trying to test out and use a variety of AVR related boards that I have, this is a very nice compact development board with LEDs, buttons, joystick and also a wide variety of connectors for LCDs, I2C, UART, PWM and various ports.

The board comes with a wide range of code that can be downloaded and there also a wide range of useful adaptor boards that can be plugged in to the board

This is a picture of the board, the LEDs are all connected to PortA on this board

Parts List

MIKROC Code

Just simple examples using MIkroC to flash the LEDs on the board

[codesyntax lang=”cpp”]

void main() 
{
  DDRA = 0xFF;     // set direction to be output
  PORTA = 0x00;    // turn OFF the PORTA leds

  
  while (1) 
  {
   PORTA = 0x00;
   Delay_ms(1000);
   PORTA = 0xff;
   Delay_ms(1000);
  }
}

[/codesyntax]

And here is another one

[codesyntax lang=”cpp”]

char counter;

void wait() 
{
  Delay_ms(100);
}

void main() 
{
  DDRA = 0xFF;     // set direction to be output
  PORTA = 0x00;    // turn OFF the PORTA leds

  
  while (1) {
    for (counter=0; counter<8; counter++)
    {
      PORTA |= 1 << counter;
      wait();
    }
       
    counter = 0;
    while (counter<8) 
    {
      PORTA &= ~(1 << counter);
      wait();
      counter++;
    }
  }
}

[/codesyntax]

 

Atmel Studio Code

[codesyntax lang=”cpp”]

#include <avr/io.h>
#include <util/delay.h>

void delay_ms_test(unsigned char  ms)
{
unsigned char i;
i++;
     if (i%2==1)
	  PORTA=0x00;
}

void delay_ms(unsigned int  ms)
{

     for(volatile unsigned  int i=0;i<ms;i++);

  
}
	
int main(void)
{
	DDRA=0xFF;	
	PORTA=0x00;
	while(1)
	{
	//	delay_ms(1000);	

       PORTA=0x00;
       delay_ms(50000);
	   PORTA=0xff;
	   delay_ms(50000);
	}
}

[/codesyntax]

 

Programming

I used AVRpal.net and connected a USBASP programmer, I had to use Zadig to install the necessary driver on Windows 10. I have managed to get this combination working but after a reboot the programmer stopped working so I will write a guide for Windows 10 later. I have several programmers such as a USB Tiny ISP, USB ASP and a USB AVRISP MK11.

The combination of getting these programmers working is a pain on Windows 10 so far

 

Links

 

You may also like