Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*#include "stm32f10x.h"
- int main(void) {
- int i; //zmienna do licznika
- RCC->APB2ENR = 0x00000008; //wlaczenie sygnalu zegarowego taktujacego dany uklad peryferyjny //APB2-magistrala do ktorej podlaczone sa LED
- GPIOB->CRH = 0x33333333; //konfiguracja portów IO
- //0x00000100 led1 //0x00000200 led2 //0x00000400 led3 //0x00000800 led4
- //0x00001000 led5 //0x00002000 led6 //0x00004000 led7 //0x00008000 led8
- while(1) {
- //0x00008000 led8
- GPIOB->ODR = 0x00008000; //zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- GPIOB->ODR = 0x00000000; //gaszenie diody
- for(i = 1000000; i > 0; i--); //licznik
- }
- while(1) {
- //na przemian diody parzyste i nieparzyste
- GPIOB->ODR = 0x00000200 | 0x00000800 | 0x00002000 | 0x00008000; //zapalanie diod
- for(i = 1000000; i > 0; i--); //licznik
- GPIOB->ODR = 0x00000000; //gaszenie diod
- GPIOB->ODR = 0x00000100 | 0x00000400 | 0x00001000 | 0x00004000; //zapalanie diod
- for(i = 1000000; i > 0; i--); //licznik
- GPIOB->ODR = 0x00000000; //gaszenie diod
- }
- while(1) {
- //waz swietlny
- GPIOB->ODR = 0x00000000 | 0x00000100; //gaszenie i zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- GPIOB->ODR = 0x00000000 | 0x00000200; //gaszenie i zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- GPIOB->ODR = 0x00000000 | 0x00000400; //gaszenie i zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- GPIOB->ODR = 0x00000000 | 0x00000800; //gaszenie i zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- GPIOB->ODR = 0x00000000 | 0x00001000; //gaszenie i zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- GPIOB->ODR = 0x00000000 | 0x00002000; //gaszenie i zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- GPIOB->ODR = 0x00000000 | 0x00004000; //gaszenie i zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- GPIOB->ODR = 0x00000000 | 0x00008000; //gaszenie i zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- }
- while(1) {
- for(int p=1; p<16;p++)
- {
- GPIOB->ODR = (255<<p);
- for(i = 2000000;i>0; i--);
- }
- }
- }*/
- /*#include "stm32f10x.h"
- #include "stm32f10x_rcc.h"
- #include "stm32f10x_gpio.h"
- int main(void) {
- int i; //zmienna do licznika
- //RCC->APB2ENR = 0x00000008; //wlaczenie sygnalu zegarowego taktujacego dany uklad peryferyjny //APB2-magistrala do ktorej podlaczone sa LED
- //GPIOB->CRH = 0x33333333; //konfiguracja portów IO
- //port B - diody LED
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//wlacz taktowanie portu GPIO B
- GPIO_InitTypeDef tmp;
- tmp.GPIO_Mode=GPIO_Mode_Out_PP;
- tmp.GPIO_Speed=GPIO_Speed_2MHz;
- tmp.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;//tmp.GPIO_Pin=GPIO_Pin_All;
- GPIO_Init(GPIOB, &tmp);
- //port A - Przyciski
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//wlacz taktowanie portu GPIO A
- tmp.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;
- tmp.GPIO_Speed = GPIO_Speed_50MHz;
- tmp.GPIO_Mode = GPIO_Mode_IN_FLOATING;
- GPIO_Init(GPIOA, &tmp);
- while(1) {
- GPIO_WriteBit(GPIOB, GPIO_Pin_8, Bit_SET); //zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- GPIO_WriteBit(GPIOB, GPIO_Pin_8, Bit_RESET); //gaszenie diody
- for(i = 1000000; i > 0; i--); //licznik
- }
- while(1) {
- GPIO_WriteBit(GPIOB, GPIO_Pin_15, Bit_SET); //zapalanie diody
- for(i = 1000000; i > 0; i--); //licznik
- GPIO_WriteBit(GPIOB, GPIO_Pin_15, Bit_RESET); //gaszenie diody
- for(i = 1000000; i > 0; i--); //licznik
- if (GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)){
- GPIO_ResetBits(GPIOB, GPIO_Pin_8);
- } else {
- GPIO_SetBits(GPIOB, GPIO_Pin_8);
- }
- if (GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)){
- GPIO_ResetBits(GPIOB, GPIO_Pin_9);
- } else {
- GPIO_SetBits(GPIOB, GPIO_Pin_9);
- }
- if (GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)){
- GPIO_ResetBits(GPIOB, GPIO_Pin_10);
- } else {
- GPIO_SetBits(GPIOB, GPIO_Pin_10);
- }
- if (GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)){
- GPIO_ResetBits(GPIOB, GPIO_Pin_11);
- } else {
- GPIO_SetBits(GPIOB, GPIO_Pin_11);
- }
- }
- while(1) { //zmien na przeciwny -> czekaj
- GPIO_WriteBit(GPIOB, GPIO_Pin_15, Bit_SET);
- for(i = 1000000; i > 0; i--); //licznik
- //if (GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_15)==1){
- GPIOB->ODR ^= GPIO_Pin_15;
- for(i = 1000000; i > 0; i--); //licznik
- //}
- }
- }//Lab1.2 */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement