Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <targets/AT91SAM7.h>
- #include "lcd.h"
- #include "usart.h"
- //Definicje stałych
- #define SW_1 PIOB_SODR_P24
- #define SW_2 PIOB_SODR_P25
- //wykonanie procedury opóźniającej w sekcji fast(RAM)
- void delay(int n) __attribute__ ((section(".fast")));
- void delay(int n) {//procedura opóźniająca
- volatile int i;
- for(i=3000*n; i>0; i--) {//pętla, która nie robi nic
- __asm__("nop");//użycie wstawki asemblerowej z instrukcja nop –
- //nie robi nic przez 1 cykl zegarowy
- }
- }
- int main() {
- PMC_PCER=PMC_PCER_PIOB;//aktywacja kontrolera PIOB
- InitUSART0();//inicjalizacja interfejsu usart
- InitLCD();//inicjalizacja LCD
- LCDSettings();//ustawienie parametrów wyświetlacza
- LCDClearScreen();//wstawienie do pamięci wyświetlacza czarnego ekranu
- Backlight(BKLGHT_LCD_ON);//włączenie podświetlenia wyświetlacza
- while(1) {
- //sprawdza czy na linii SW_1 występuje stan niski
- if ((PIOB_PDSR & SW_1) == 0) {
- write_str_USART0("1");
- delay(100);
- }
- //sprawdza czy na linii SW_2 występuje stan niski
- if ((PIOB_PDSR & SW_2) == 0) {
- write_str_USART0("2");
- delay(100);
- }
- //Odczytywanie znaku wysyłanego interfejsem usart
- char a = read_char_USART0_nonstop();
- //Wyświetlenie otrzymanego znaku na ekranie
- if(a != 0)
- LCDPutChar(a,50,0, SMALL, WHITE, BLACK);
- //Wyświetlenie napisu na ekranie płytki nr 2
- LCDPutStr("test plytka 2", 10, 10, LARGE, WHITE, BLACK);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement