stm32编码器程序
“stm32编码器程序”相关的资料有哪些?“stm32编码器程序”相关的范文有哪些?怎么写?下面是小编为您精心整理的“stm32编码器程序”相关范文大全或资料大全,欢迎大家分享。
STM32 湿度传感器程序
湿度传感器程序
以下是C文件
#include //复位DHT11 void DHT11_Rst(void) { DHT11_IO_OUT(); //SET OUTPUT DHT11_DQ_OUT=0; //拉低DQ delay_ms(20); //拉低至少18ms DHT11_DQ_OUT=1; //DQ=1 delay_us(30); //主机拉高20~40us } //等待DHT11的回应 //返回1:未检测到DHT11的存在 //返回0:存在 u8 DHT11_Check(void) { u8 retry=0; DHT11_IO_IN();//SET INPUT while (DHT11_DQ_IN&&retry<100)//DHT11会拉低40~80us { retry++; delay_us(1); }; if(retry>=100)return 1; else retry=0; while (!DHT11_DQ_IN&&retry<100)//DHT1
编码器程序
试验目的:通过连续记录输入信号的两个上升沿,用该程序可以计算出输入信号的频率;同时,利用脉冲累加器可以记录输入脉冲数。
#include double f1=2000000,first=0,second=0,n,N; void main(void) { DisableInterrupts; //禁止全局中断 TSCR2=0X82; //计时器系统控制寄存器 0X80计时器溢出中断使能 0x02计数 器预分频为四分频 PACTL=0X20; //脉冲累加器A控制寄存器 0X20脉冲累加器溢出中断允许位 TIOS=0XFE; //IC/OC 选择寄存器 0xfe设定pt0输入捕捉口 TCTL4=0X01; //控制寄存器 0X01输入捕捉边沿
stm32的GPIO程序
/* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __STM32F4xx_GPIO_H #define __STM32F4xx_GPIO_H
#ifdef __cplusplus extern \#endif
/* Includes ------------------------------------------------------------------*/ #include \
#define IS_GPIO_ALL_PERIPH(PERIPH) (((PERIPH) == GPIOA) || \\ ((PERIPH) == GPIOB) || \\ ((PERIPH) == GPIOC) || \\ ((PERIPH) == GPIOD) || \\
电子秤stm32程序
#include \#include \#include \#include \#include \#include \#include \#include \#include \
int main(void) { u8 num,flag; float vol1; delay_init(); uart_init(9600); LED_Init(); LCD_Init(); Adc_Init(); KEY_Init(); HX711_Init(); POINT_COLOR=RED; HZ_show(); LCD_ShowString(54+25,55,200,24,16,\提示信息显示 LCD_ShowString(54+25,85,200,24,16,\提示信息显示 LCD_ShowString(54+25,115,200,24,16,\提示信息显示 LCD_ShowString(54+25,145,200,24,16,\提示信息显示 while(1) { vol1=HX711_count(); if(KEY_Scan(1)==WKUP_PRES) //单价设置 num的值可直接用
stm32驱动lcd12864程序
#include \#include \#include \#include \
void p_out(void) //把PB命令端口配置成输出 { }
void wr_outite_cmd(u8 cmd) //写命令 { }
void wr_outite_data(u8 dat) //写数据 {
p_out(); data_out(); rs_out=1; p_out(); data_out(); rs_out=0; wr_out=0; en_out=0;
GPIOB->ODR=((GPIOB->ODR&0X00FF)|(cmd<<8)); delay_ms(10); en_out=1; delay_ms(10); en_out=0;
//把PB数据端口配置成输出
rs(); wr(); en(); psb();
位 }
wr_out=0; en_out=0;
GPIOB->ODR=((GPIOB->ODR&0X00FF)|(dat<<8));
//把dat给PB高八
delay_ms(10); en_out=1; delay_ms(10); en_out=0;
void LCDClear(void) { }
void locate_x_y(u8 x,u8 y)//指定显示坐标 {
STM32定时器、usart、spi
STM32总结
一、以下是我对这几天学习的一点总结。
1、 通信模块:USART
a:双机通信(总体就是对发送和接收的配置)
USART_InitTypeDef USART_InitStructure; //串口设置恢复默认参数
USART_ClockInitTypeDef USART_ClockInitStructure;
/* 串口1的配置
- 波特率 = 9600 - 数据长度 =8位 - 一个停止位 - 无校验
- 允许接收和发送 - 非硬件流控制 - USART时钟禁止
- USART CPOL: 时钟低电平 //指定了下SLCK引脚上时钟输出的极性 - USART CPHA: 时钟第二个边沿进行数据捕获 //指定了下SLCK引脚上时钟输出的相位
- USART LastBit: 最后一位数据的时钟脉冲不从SCLK输出 */
USART_InitStructure.USART_BaudRate
STM32定时器、usart、spi
STM32总结
一、以下是我对这几天学习的一点总结。
1、 通信模块:USART
a:双机通信(总体就是对发送和接收的配置)
USART_InitTypeDef USART_InitStructure; //串口设置恢复默认参数
USART_ClockInitTypeDef USART_ClockInitStructure;
/* 串口1的配置
- 波特率 = 9600 - 数据长度 =8位 - 一个停止位 - 无校验
- 允许接收和发送 - 非硬件流控制 - USART时钟禁止
- USART CPOL: 时钟低电平 //指定了下SLCK引脚上时钟输出的极性 - USART CPHA: 时钟第二个边沿进行数据捕获 //指定了下SLCK引脚上时钟输出的相位
- USART LastBit: 最后一位数据的时钟脉冲不从SCLK输出 */
USART_InitStructure.USART_BaudRate
STM32定时器、usart、spi
STM32总结
一、以下是我对这几天学习的一点总结。
1、 通信模块:USART
a:双机通信(总体就是对发送和接收的配置)
USART_InitTypeDef USART_InitStructure; //串口设置恢复默认参数
USART_ClockInitTypeDef USART_ClockInitStructure;
/* 串口1的配置
- 波特率 = 9600 - 数据长度 =8位 - 一个停止位 - 无校验
- 允许接收和发送 - 非硬件流控制 - USART时钟禁止
- USART CPOL: 时钟低电平 //指定了下SLCK引脚上时钟输出的极性 - USART CPHA: 时钟第二个边沿进行数据捕获 //指定了下SLCK引脚上时钟输出的相位
- USART LastBit: 最后一位数据的时钟脉冲不从SCLK输出 */
USART_InitStructure.USART_BaudRate
stm32试题
1.Cortex-M处理器采用的架构是( D)
(A)v4T (B)v5TE (C)v6 (D)v7 2.NVIC可用来表示优先权等级的位数可配置为是(D )
(A)2 (B)4 (C)6 (D)8 4.Cortex-M3的提供的流水线是( B)
(A)2级 (B)3级 (C)5级 (D)8级 5.Cortex-M3的提供的单周期乘法位数是(C )
(A)8 (B)16 (C)32 (D)64 6.STM32处理器的USB接口可达( B )
(A)8Mbit/s (B)12Mbit/s (C)16Mbit/s (D)24Mbit/s 7.Context – M3处理器的寄存器r14代表( B )
(A)通用寄存器 (B)链接寄存器 (C)程序计数器 (D)程序状态寄存器
STM32定位控制
/*作者:曹备*/
/*最后修改日期:2015-04-02*/ /*创建日期: 2015-04-02*/
/*基于STM32的单轴简易运动控制器/脉冲发生器*/ /*脉冲+方向控制步进伺服电机*/ /*
优化记录:
中断修改TIMx_PSC一个寄存器的值,而不是修改TIMx_ARR预加载寄存器+TIMx_CCRx比较值寄存器两个值,缩短中断处理时间
定位指令DRVI/DRVA中,目标频率设定过高、而实际输出脉冲数过少时,则不必加速到目标频率即进入减速区 */ /*
DRVI(A);相对定位,输出A(A取绝对值)个脉冲 A不能为0
若A为正数,则方向为正、GPIOB.0为高电平 若A为负数,则方向为负、GPIOB.0为低电平
DRVA(A) 绝对定位,输出脉冲,运行至A个脉冲的位置 若目标位置A等于当前位置D,则不执行脉冲输出 若A大于D 则方向为正GPIOB.5为高电平 若A小于D 则方向为负GPIOB.5为低电平
GPIOB.1为脉冲输出 GPIOB.0为方向输出 占空比为50%
阶梯曲线形式加减速
加减速时间以10毫秒为基本单位 加减速以每10毫秒为一级 例如
加减速时间为50毫秒,则加减速级数为50/1