第三步
本文在于记录一下使用方法,免于以后自己忘了。鉴于很多人对英文手册免疫,下面贴一下代码并加以中文注释,就是这么友好!哈哈
1、 管脚宏定义
#define LED_PIN PB5 //LED测试脚
#define Encode_A PD2 //编码器A相//霍尔传感器信号
#define Encode_B PD3 //编码器B相
#define PWM_PinA PB0 //PWM输出脚1
#define PWM_PinB PB1 //PWM输出脚2
2、 外部中断的使用
pinMode(Encode_A, INPUT); //channel A
pinMode(Encode_B, INPUT); //channel B INPUT_PULLUP
attachInterrupt(Encode_A, Encode,RISING);//Encode_A有变化即进入中断函数 Encode
3、定时器的使用
Timer2.setMode(TIMER_CH1, TIMER_OUTPUTCOMPARE);//设置定时器2的通道1,为计时模式(还有PWM模式TIMER_PWM)
Timer2.setPeriod(Send_RATE); // in microseconds设置定时周期
Timer2.setCompare(TIMER_CH1, 1); // overflow might be small,如果通道1计时大于1,则将其至于最大值
Timer2.attachInterrupt(TIMER_CH1, SendData);//定时中断,满足条件进入函数SendData
4、串口读写
哪一个串口就再 Serial后面加1,就是这么小白
Serial1.begin (115200);//串口1对应STM32 UART1 ,TX=PA9,RX=PA10 参数配置口
Serial2.begin (115200);//串口2对应STM32 UART2,TX=PA2,RX=PA3 RS485通信接口
Serial3.begin (115200);//串口3对应STM32 UART3,TX=PB10,RX=PB11 Can通信接口
5、模拟量读取
查找SMT32的模拟引脚,定义为Analog_Pin1
0-3.3伏对应0-4095。
/*读取电机电流和电压,模拟输入脚PC0,PC1*/
sensorValue1 = analogRead(Analog_Pin1);//电压0-3.3对应输出值为0-4095,换算成实际电流
全文完!
欢迎联系本站长QQ:3216572