start penna zip
This commit is contained in:
parent
e60146cdfe
commit
88b607c42f
188 changed files with 236868 additions and 0 deletions
49
Exp01/Core/Src/SEMAPHORE.c
Normal file
49
Exp01/Core/Src/SEMAPHORE.c
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#include "SEMAPHORE.h"
|
||||
#include "gpio.h"
|
||||
|
||||
char stato = 0;
|
||||
char dir = 0;
|
||||
|
||||
void SEMAPHORE_init(void){
|
||||
TIM7 -> ARR = ON_time;
|
||||
TIM7 -> PSC = 24000; // set single timer ticks to 100us (240MHz/24000 = 10kHz) - 240MHz is APB1 clock freq.
|
||||
TIM7 -> CR1 |= TIM_CR1_CEN;
|
||||
TIM7 -> CNT = 0;
|
||||
TIM7 -> DIER |= TIM_DIER_UIE;
|
||||
//inizia con UNO acceso
|
||||
GPIOB -> BSRR = on_0;
|
||||
}
|
||||
|
||||
void SEMAPHORE_TIM7_interrupt(void){
|
||||
// spegni tutto
|
||||
GPIOB -> BSRR = off_0;
|
||||
GPIOE -> BSRR = off_1;
|
||||
GPIOB -> BSRR = off_2;
|
||||
|
||||
TIM7->SR = 0;
|
||||
|
||||
switch(stato){
|
||||
case 0:
|
||||
GPIOE -> BSRR = on_1;
|
||||
stato = 1;
|
||||
TIM7 -> ARR = ON_time;
|
||||
break;
|
||||
case 1:
|
||||
if(!dir){
|
||||
GPIOB -> BSRR = on_2;
|
||||
stato = 2;
|
||||
dir = 1;
|
||||
}else{
|
||||
GPIOB -> BSRR = on_0;
|
||||
stato = 0;
|
||||
dir = 0;
|
||||
}
|
||||
TIM7 -> ARR = OFF_time;
|
||||
break;
|
||||
case 2:
|
||||
GPIOE -> BSRR = on_1;
|
||||
stato = 1;
|
||||
TIM7 -> ARR = ON_time;
|
||||
break;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue