spi
Fork of SPICommSTM32f4 by
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 00003 SPISlave SPINUCLEO(PA_7,PA_6,PA_5,PA_4); 00004 //DigitalOut myled(LED1); 00005 00006 PwmOut PWM1(PA_8); 00007 //TIM1_CH4 //Pince bas gauche 00008 PwmOut PWM2(PA_11); 00009 //TIM16_CH1 00010 PwmOut PWM3(PA_12);// Pince Glissement Gauche 00011 //TIM3_CH1 00012 PwmOut PWM4(PB_0);//Pince Glissement droite 00013 //TIM3_CH4 00014 PwmOut PWM5(PB_7); 00015 //TIM17_CH1N 00016 PwmOut PWM6(PB_6); 00017 //TIM3_CH4, 00018 PwmOut PWM7(PB_1); 00019 //TIM3_CH3 00020 PwmOut PWM8(PF_0); //pince bas droite 00021 00022 float map (int x, int in_min,int in_max, float out_min, float out_max) 00023 { 00024 return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; 00025 } 00026 00027 void Pince_Bas_Gauche(int a) 00028 {// 40 ouverture 0 fermeture 00029 PWM2.period_ms(20); 00030 PWM2.write(map (a,0,180,0.028f,0.12f)); 00031 } 00032 00033 void Pince_Bas_Droite(int a) 00034 {// 0 ouverture 40 fermeture 00035 PWM8.period_ms(20); 00036 PWM8.write(map (a,0,180,0.028f,0.12f)); 00037 } 00038 void ouverture() 00039 { 00040 Pince_Bas_Droite(0); 00041 Pince_Bas_Gauche(40); 00042 } 00043 void fermeture() 00044 { 00045 Pince_Bas_Droite(40); 00046 Pince_Bas_Gauche(0); 00047 } 00048 void Pince_Glissement_Gauche(int a) 00049 {//50avant 0 arriere 00050 PWM3.period_ms(20); 00051 PWM3.write(map (a,0,180,0.028f,0.12f)); 00052 } 00053 00054 void Pince_Glissement_Droit(int a) 00055 {//0avant 50 arriere 00056 PWM4.period_ms(20); 00057 PWM4.write(map (a,0,180,0.028f,0.12f)); 00058 } 00059 void Pince_arriere() 00060 { 00061 Pince_Glissement_Droit(0); 00062 Pince_Glissement_Gauche(50); 00063 } 00064 void Pince_avant() 00065 { 00066 Pince_Glissement_Droit(55); 00067 Pince_Glissement_Gauche(0); 00068 } 00069 00070 int main() { 00071 int a=0; 00072 SPINUCLEO.frequency(21000000); 00073 SPINUCLEO.reply(0x00); 00074 00075 ouverture(); 00076 00077 while (1) 00078 { 00079 if (SPINUCLEO.receive()) 00080 { 00081 a=SPINUCLEO.read(); 00082 if(a==0x0A) 00083 { 00084 ouverture(); 00085 wait(2); 00086 fermeture(); 00087 wait(2); 00088 SPINUCLEO.reply(0x0B); 00089 00090 }} 00091 00092 } 00093 00094 }
Generated on Mon Sep 19 2022 11:01:46 by
1.7.2
