Advertisement
Guest User

NWES Test

a guest
Jan 17th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.94 KB | None | 0 0
  1. /*
  2.  * Probetest_4.c
  3.  *
  4.  * Created: 17.01.2017 20:00:04
  5.  * Author : alexander zechner
  6.  */
  7.  
  8. #include <avr/io.h>
  9. #include "board.h"
  10. #include <util/delay.h>
  11.  
  12.  
  13. void clearLights(void){
  14.     if(!(BUTTON_LOW_PORT.IN & BUTTON0_PIN_bm)){
  15.         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);
  16.     }
  17.  
  18. }
  19. void eineLED(void){
  20.     if(!(BUTTON_LOW_PORT.IN & BUTTON1_PIN_bm)){
  21.         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);
  22.        
  23.         LED_PORT.OUT &= ~LED1_PIN_bm;
  24.         _delay_ms(250);
  25.  
  26.     }
  27. }
  28.  
  29. void zweiLEDS(void){
  30.     if(!(BUTTON_LOW_PORT.IN & BUTTON2_PIN_bm)){
  31.         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);
  32.  
  33.         LED_PORT.OUT &= ~LED1_PIN_bm;
  34.         _delay_ms(250);
  35.         LED_PORT.OUT &= ~LED2_PIN_bm;
  36.         _delay_ms(300);
  37.  
  38.     }
  39. }
  40.  
  41. void dreiLEDS(void){
  42.     if(!(BUTTON_LOW_PORT.IN & BUTTON3_PIN_bm)){
  43.         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);
  44.        
  45.         LED_PORT.OUT &= ~LED1_PIN_bm;
  46.         _delay_ms(250);
  47.         LED_PORT.OUT &= ~LED2_PIN_bm;
  48.         _delay_ms(300);
  49.         LED_PORT.OUT &= ~LED3_PIN_bm;
  50.         _delay_ms(350);
  51.  
  52.     }
  53. }
  54.  
  55. void vierLEDS(void){
  56.     if(!(BUTTON_LOW_PORT.IN & BUTTON4_PIN_bm)){
  57.         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);
  58.        
  59.         LED_PORT.OUT &= ~LED1_PIN_bm;
  60.         _delay_ms(250);
  61.         LED_PORT.OUT &= ~LED2_PIN_bm;
  62.         _delay_ms(300);
  63.         LED_PORT.OUT &= ~LED3_PIN_bm;
  64.         _delay_ms(350);
  65.         LED_PORT.OUT &= ~LED4_PIN_bm;
  66.         _delay_ms(400);
  67.     }
  68. }
  69.  
  70. void fünfLEDS(void){
  71.     if(!(BUTTON_LOW_PORT.IN & BUTTON5_PIN_bm)){
  72.         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);
  73.        
  74.         LED_PORT.OUT &= ~LED1_PIN_bm;
  75.         _delay_ms(250);
  76.         LED_PORT.OUT &= ~LED2_PIN_bm;
  77.         _delay_ms(300);
  78.         LED_PORT.OUT &= ~LED3_PIN_bm;
  79.         _delay_ms(350);
  80.         LED_PORT.OUT &= ~LED4_PIN_bm;
  81.         _delay_ms(400);
  82.         LED_PORT.OUT &= ~LED5_PIN_bm;
  83.         _delay_ms(350);
  84.     }
  85. }
  86.  
  87. void sechsLEDS(void){
  88.     if(!(BUTTON_HIGH_PORT.IN & BUTTON6_PIN_bm)){
  89.         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);
  90.        
  91.         LED_PORT.OUT &= ~LED1_PIN_bm;
  92.         _delay_ms(250);
  93.         LED_PORT.OUT &= ~LED2_PIN_bm;
  94.         _delay_ms(300);
  95.         LED_PORT.OUT &= ~LED3_PIN_bm;
  96.         _delay_ms(350);
  97.         LED_PORT.OUT &= ~LED4_PIN_bm;
  98.         _delay_ms(400);
  99.         LED_PORT.OUT &= ~LED5_PIN_bm;
  100.         _delay_ms(450);
  101.         LED_PORT.OUT &= ~LED6_PIN_bm;
  102.         _delay_ms(500);
  103.     }
  104. }
  105.  
  106. void siebenLEDS(void){
  107.     if(!(BUTTON_HIGH_PORT.IN & BUTTON7_PIN_bm)){
  108.         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);
  109.        
  110.         LED_PORT.OUT &= ~LED1_PIN_bm;
  111.         _delay_ms(250);
  112.         LED_PORT.OUT &= ~LED2_PIN_bm;
  113.         _delay_ms(300);
  114.         LED_PORT.OUT &= ~LED3_PIN_bm;
  115.         _delay_ms(350);
  116.         LED_PORT.OUT &= ~LED4_PIN_bm;
  117.         _delay_ms(400);
  118.         LED_PORT.OUT &= ~LED5_PIN_bm;
  119.         _delay_ms(450);
  120.         LED_PORT.OUT &= ~LED6_PIN_bm;
  121.         _delay_ms(500);
  122.         LED_PORT.OUT &= ~LED7_PIN_bm;
  123.         _delay_ms(550);
  124.     }
  125. }
  126.  
  127. int main(void)
  128. {
  129.     //initialize LED
  130.     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);
  131.  
  132.     //Initialize state
  133.     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);
  134.  
  135.     //Initialize buttons
  136.     BUTTON0_PINCTRL = PORT_OPC_PULLUP_gc;
  137.     BUTTON1_PINCTRL = PORT_OPC_PULLUP_gc;
  138.     BUTTON2_PINCTRL = PORT_OPC_PULLUP_gc;
  139.     BUTTON3_PINCTRL = PORT_OPC_PULLUP_gc;
  140.     BUTTON4_PINCTRL = PORT_OPC_PULLUP_gc;
  141.     BUTTON5_PINCTRL = PORT_OPC_PULLUP_gc;
  142.     BUTTON6_PINCTRL = PORT_OPC_PULLUP_gc;
  143.     BUTTON7_PINCTRL = PORT_OPC_PULLUP_gc;
  144.  
  145.     USB_USART_PORT.DIRSET = USB_USART_TX_PIN_bm;                 // TX is output.
  146.     USB_USART_PORT.DIRCLR = USB_USART_RX_PIN_bm;                 // RX is input.
  147.     // Asynchronous, 8 data bits, no parity, 1 stop bit
  148.     USB_USART_MODULE.CTRLC = ( USART_CMODE_ASYNCHRONOUS_gc | USART_CHSIZE_8BIT_gc | USART_PMODE_DISABLED_gc);
  149.     // 115200 baud -> BSCALE = -7, BSEL = 11, CLK2X = 0. Target: Internal RC 2MHz (default)
  150.     USB_USART_MODULE.BAUDCTRLA = 11;
  151.     USB_USART_MODULE.BAUDCTRLB = (-7<<USART_BSCALE_gp);
  152.     // Enable receiver and transmitter
  153.     USB_USART_MODULE.CTRLB = (USART_RXEN_bm | USART_TXEN_bm);
  154.    
  155.     int x = 0;
  156.     uint8_t buffer;
  157.  
  158.     while (1)
  159.     {
  160.        
  161.         if(USB_USART_MODULE.STATUS & USART_RXCIF_bm){
  162.             buffer = USB_USART_MODULE.DATA;
  163.             while(!(USB_USART_MODULE.STATUS & USART_DREIF_bm));
  164.             USB_USART_MODULE.DATA = buffer;
  165.             if(x==0){
  166.                 x=1;
  167.                 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);
  168.             }else if(x==1){
  169.                 x=0;
  170.             }
  171.                
  172.         }
  173.  
  174.         if(x==0){
  175.             clearLights();
  176.             eineLED();
  177.             zweiLEDS();
  178.             dreiLEDS();
  179.             vierLEDS();
  180.             fünfLEDS();
  181.             sechsLEDS();
  182.             siebenLEDS();
  183.         }  
  184.     }
  185. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement