Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Include Standard files
- #include "board.h"
- //*--------------------------------------------------------------------------------------
- //* Function Name : Main
- //* Object : Software entry point
- //* Input Parameters : none.
- //* Output Parameters : none.
- //*--------------------------------------------------------------------------------------
- //int przesunWLewo (int wart){
- // return ((wart << 1) & 255) | ((wart>>7)); //int ma 32 bity i 255 to 11111111,
- //}
- int przesunWLewo (int ile){
- *AT91C_PIOA_OWER = AT91C_PIO_PA0| AT91C_PIO_PA1| AT91C_PIO_PA2| AT91C_PIO_PA3| AT91C_PIO_PA4| AT91C_PIO_PA5| AT91C_PIO_PA6| AT91C_PIO_PA7;
- return ((ile<<1)&255)|((ile>>7));
- }
- int b (int ile){
- //fkcja board_MCK = 48 mln - taktowanie master clocka, pusty for 4 takty - zeby odpowiadalo sekundzie
- *AT91C_PIOA_OWER = AT91C_PIO_PA0| AT91C_PIO_PA1| AT91C_PIO_PA2| AT91C_PIO_PA3| AT91C_PIO_PA4| AT91C_PIO_PA5| AT91C_PIO_PA6| AT91C_PIO_PA7;
- int left = ile & 0xf0;
- int right = ile & 0x0f;
- return ( (left>>1 & 0xf0) | (left <<3 & 0xf0)) | ((right<<1 & 0x0f) | (right >>3 & 0x0f));
- }
- int main()
- {
- *AT91C_PMC_PCER=1<<AT91C_ID_PIOA;
- *AT91C_PIOA_PER=AT91C_PIO_PA0| AT91C_PIO_PA1| AT91C_PIO_PA2| AT91C_PIO_PA3| AT91C_PIO_PA4| AT91C_PIO_PA5| AT91C_PIO_PA6| AT91C_PIO_PA7;
- *AT91C_PIOA_OER=AT91C_PIO_PA0| AT91C_PIO_PA1| AT91C_PIO_PA2| AT91C_PIO_PA3| AT91C_PIO_PA4| AT91C_PIO_PA5| AT91C_PIO_PA6| AT91C_PIO_PA7;
- int sekunda = 2000;
- int g = 129;
- int y = sekunda*BOARD_MCK*0.001/4;
- for(int i=1;1<16;i++){
- g=b(g);
- *AT91C_PIOA_ODSR=g;
- for (int l=0;l<y;l++){
- }
- }
- return 0;
- }
- /*
- int main()
- {//* Begin
- *AT91C_PMC_PCER=1<<AT91C_ID_PIOA; //w³aczanie zegara dla PIOA
- *AT91C_PIOA_PER=(AT91C_PIO_PA0); //W£¥CZANIE PORTU
- *AT91C_PIOA_OER=(AT91C_PIO_PA0); //W£¥CZENIE PORTU NA WYJŒCIE
- //4a
- *AT91C_PIOA_SODR = AT91C_PIO_PA0;
- *AT91C_PIOA_CODR = AT91C_PIO_PA0;
- //4b
- *AT91C_PIOA_PER=(AT91C_PIO_PA1);
- *AT91C_PIOA_OER=(AT91C_PIO_PA1);
- *AT91C_PIOA_CODR = AT91C_PIO_PA1;
- *AT91C_PIOA_SODR = AT91C_PIO_PA0;
- //synchronicznie
- *AT91C_PIOA_OWER = AT91C_PIO_PA0| AT91C_PIO_PA1; //output write enable - zezwolenie na wpis do rejestru odsr wymaga ustawienia tam pol
- for(int i=0;i<3;i++){ //i= ile razy switch
- *AT91C_PIOA_ODSR^=AT91C_PIO_PA0 | AT91C_PIO_PA1; //po lewej xoruje z tym po prawej
- }
- //4c
- *AT91C_PIOA_PER = AT91C_PIO_PA2;
- *AT91C_PIOA_ODR = AT91C_PIO_PA2;
- *AT91C_PIOA_ODR = AT91C_PIO_PA4;
- while(1){ //1 bo while true - nigdy nie wyjdzie z petli
- if(!(*AT91C_PIOA_PDSR & AT91C_PIO_PA4)) //jesli jest wcisniete
- *AT91C_PIOA_CODR = AT91C_PIO_PA0; //zapala diode
- else
- *AT91C_PIOA_SODR = AT91C_PIO_PA0; // w przecwnym razie gasi
- }
- return 0;
- }//* End
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement