Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Probetest_5.c
- *
- * Created: 18.01.2017 18:14:33
- * Author : michael
- */
- #include <avr/io.h>
- #include "board.h"
- #include <util/delay.h>
- void ClearLEDS(void){
- LED_PORT.OUT |= (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- }
- void oneLED(void){
- LED_PORT.OUT |= (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- LED_PORT.OUT &= ~LED1_PIN_bm;
- _delay_ms(250);
- }
- void twoLEDs(void){
- LED_PORT.OUT |= (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- LED_PORT.OUT &= ~LED1_PIN_bm;
- _delay_ms(250);
- LED_PORT.OUT &= ~LED2_PIN_bm;
- _delay_ms(300);
- }
- void threeLEDs(void){
- LED_PORT.OUT |= (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- LED_PORT.OUT &= ~LED1_PIN_bm;
- _delay_ms(250);
- LED_PORT.OUT &= ~LED2_PIN_bm;
- _delay_ms(300);
- LED_PORT.OUT &= ~LED3_PIN_bm;
- _delay_ms(350);
- }
- void fourLEDs(void){
- LED_PORT.OUT |= (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- LED_PORT.OUT &= ~LED1_PIN_bm;
- _delay_ms(250);
- LED_PORT.OUT &= ~LED2_PIN_bm;
- _delay_ms(300);
- LED_PORT.OUT &= ~LED3_PIN_bm;
- _delay_ms(350);
- LED_PORT.OUT &= ~LED4_PIN_bm;
- _delay_ms(400);
- }
- void fiveLEDs(void){
- LED_PORT.OUT |= (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- LED_PORT.OUT &= ~LED1_PIN_bm;
- _delay_ms(250);
- LED_PORT.OUT &= ~LED2_PIN_bm;
- _delay_ms(300);
- LED_PORT.OUT &= ~LED3_PIN_bm;
- _delay_ms(350);
- LED_PORT.OUT &= ~LED4_PIN_bm;
- _delay_ms(400);
- LED_PORT.OUT &= ~LED5_PIN_bm;
- _delay_ms(450);
- }
- void sixLEDs(void){
- LED_PORT.OUT |= (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- LED_PORT.OUT &= ~LED1_PIN_bm;
- _delay_ms(250);
- LED_PORT.OUT &= ~LED2_PIN_bm;
- _delay_ms(300);
- LED_PORT.OUT &= ~LED3_PIN_bm;
- _delay_ms(350);
- LED_PORT.OUT &= ~LED4_PIN_bm;
- _delay_ms(400);
- LED_PORT.OUT &= ~LED5_PIN_bm;
- _delay_ms(450);
- LED_PORT.OUT &= ~LED6_PIN_bm;
- _delay_ms(500);
- }
- void sevenLEDs(void){
- LED_PORT.OUT |= (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- LED_PORT.OUT &= ~LED1_PIN_bm;
- _delay_ms(250);
- LED_PORT.OUT &= ~LED2_PIN_bm;
- _delay_ms(300);
- LED_PORT.OUT &= ~LED3_PIN_bm;
- _delay_ms(350);
- LED_PORT.OUT &= ~LED4_PIN_bm;
- _delay_ms(400);
- LED_PORT.OUT &= ~LED5_PIN_bm;
- _delay_ms(450);
- LED_PORT.OUT &= ~LED6_PIN_bm;
- _delay_ms(500);
- LED_PORT.OUT &= ~LED7_PIN_bm;
- _delay_ms(550);
- }
- int main(void)
- {
- //Initialize LEDS
- LED_PORT.DIR = (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- //Initialize States of the LEDS
- LED_PORT.OUT = (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- //Initialize USART
- USB_USART_PORT.DIRSET = USB_USART_TX_PIN_bm;
- USB_USART_PORT.DIRCLR = USB_USART_RX_PIN_bm;
- // CMODE Asynchronous, CHSIZE 8 Bit and PMODE Disabled
- USB_USART_MODULE.CTRLC = (USART_CMODE_ASYNCHRONOUS_gc|USART_CHSIZE_8BIT_gc|USART_PMODE_DISABLED_gc);
- //BAUDRATE 115200
- USB_USART_MODULE.BAUDCTRLA = 11;
- USB_USART_MODULE.BAUDCTRLB = (-7<<USART_BSCALE_gp);
- //Enable receiver and transmitter
- USB_USART_MODULE.CTRLB = (USART_RXEN_bm|USART_TXEN_bm);
- //Initialize Button
- BUTTON4_PINCTRL = PORT_OPC_PULLUP_gc;
- uint8_t data;
- int x = 0;
- while (1)
- {
- if(!(BUTTON_LOW_PORT.IN & BUTTON4_PIN_bm)){
- if(x == 0){
- LED_PORT.OUT |= (LED0_PIN_bm|LED1_PIN_bm|LED2_PIN_bm|LED3_PIN_bm|LED4_PIN_bm|LED5_PIN_bm|LED6_PIN_bm|LED7_PIN_bm);
- x = 1;
- }else if(x == 1){
- x = 0;
- }
- }
- if(USB_USART_MODULE.STATUS & USART_RXCIF_bm){
- data = USB_USART_MODULE.DATA;
- while(!(USB_USART_MODULE.STATUS & USART_DREIF_bm));
- USB_USART_MODULE.DATA = data;
- if (x == 0){
- if(data == 0x30){ //0x30 = 0
- ClearLEDS();
- }else if(data == 0x31){ //0x31 = 1
- oneLED();
- }else if(data == 0x32){ //0x32 = 2
- twoLEDs();
- }else if(data == 0x33){ //0x33 = 3
- threeLEDs();
- }else if(data == 0x34){ //0x34 = 4
- fourLEDs();
- }else if(data == 0x35){ //0x35 = 5
- fiveLEDs();
- }else if(data == 0x36){ //0x36 = 6
- sixLEDs();
- }else if(data == 0x37){ //0x37 = 7
- sevenLEDs();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement