STM32F407单片机读写SW-420震动模块传感器DEMO软件例程源码,可以做为你的学习设计参考。 int main(void) { uint32_t lcdid; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); /* 模块初始化 */ SW420_GPIO_Init(); /* 初始化3.5寸TFT液晶模组,一般优先于调试串口初始化 */ lcdid=BSP_LCD_Init(); /* 调用格式化输出函数打印输出数据 */ printf("LCD ID=0x%08X\n",lcdid); LCD_Clear(0,0,LCD_DEFAULT_WIDTH,LCD_DEFAULT_HEIGTH,BLACK); HAL_Delay(1000); /* 开背光 */ LCD_BK_ON(); LCD_DispString_EN_CH(70,50,(uint8_t *)"YS-F4Pro开发板",BLACK,BLUE,USB_FONT_24); LCD_DispString_EN_CH(20,100,(uint8_t *)"SW-420 震动模块实验",BLACK,YELLOW,USB_FONT_24); LCD_DispString_EN_CH(105,200,"震动",BLACK,WHITE,USB_FONT_24); /* 无限循环 */ while (1) { if(SW420_StateRead()==SW420_HIGH) { LED1_ON; LCD_DispString_EN_CH(80,200,"有",BLACK,RED,USB_FONT_24); } else { LED1_OFF; LCD_DispString_EN_CH(80,200,"无",BLACK,RED,USB_FONT_24); } HAL_Delay(1000);
STM32F407单片机读写 US-100超声波测量距离和温度串口屏显示DEMO软件例程源码,可以做为你的学习和设计参考。 int main(void) { /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); US100_USARTx_Init(); HMI_USARTx_Init(); /* 启用串口接收监听,有数据则进入中断回调 */ HAL_UART_Receive_IT(&husartx,&aRxBuffer1[0],2); /* 无限循环 */ while (1) { if( HAL_UART_Transmit(&husartx,&aTxBuffer1[0],1,0xFFFF)==HAL_OK); { flag1=1; HAL_Delay(1000); } if( HAL_UART_Transmit(&husartx,&aTxBuffer2[0],1,0xFFFF)==HAL_OK); { flag2=1; HAL_Delay(1000); } } } /** * 函数功能: 接收中断回调函数 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle) { if (flag1==1) { uint16_t temp; temp=aRxBuffer1[0]*256+aRxBuffer1[1]; printf("测量的距离为:%dmm\n",temp); HMI_value_setting("page1.net.val",temp*10); flag1=0; HAL_UART_Receive_IT(&husartx,&aRxBuffer1[0],1);
基于STM32F1adc模拟看门狗,可以设置ADC上下阈值,实时监控ADC采样数值。超出阈值范围触发中断
2022-01-15 14:57:19 2.03MB stm32 ADC看门狗 模拟看门狗 ADC
1
STM32单片机读写(8通道16位同步ADC)AD7606软件驱动例程源码,可做为你的学习设计参考。 本例程演示如何读取AD7606的采集数据。 K1键 : 切换量程(5V或10V) K2键 : 进入FIFO工作模式 K3键 : 进入软件定时采集模式 摇杆上下键 : 调节过采样参数 ----- 将模拟输入接地时,采样值是0左右; ----- 模拟输入端悬空时,采样值在 11600 左右浮动(这是正常的,这是AD7606内部输入电阻导致的浮动电压) AD7606底层驱动文件是 : bsp_ad7606.c 出厂的AD7606模块缺省是8080 并行接口。如果用SPI接口模式,需要修改 R1 R2电阻配置。 AD7606模块接到STM32F4的FSMC总线。 AD7606 的配置很简单,它没有内部寄存器。量程范围和过采样参数是通过外部IO控制的。 采样速率由MCU或DSP提供的脉冲频率控制。 配置CVA CVB 引脚为PWM输出模式,周期设置为需要的采样频率; ---> 之后MCU将产生周期非常稳定的AD转换信号 将BUSY口线设置为中断下降沿触发模式; 外部中断ISR程序 { 中断入口; 读取8个通道的采样结果保存到RAM; 中断返回; }
STM32单片机读写2通道带PGA16位ADC-AD7705软件例程源码,可以做为你的学习设计参考。 int main(void) { uint16_t adc1, adc2; /* 由于ST固件库的启动文件已经执行了CPU系统时钟的初始化,所以不必再次重复配置系统时钟。 启动文件配置了CPU主时钟频率、内部Flash访问速度和可选的外部SRAM FSMC初始化。 系统时钟缺省配置为72MHz,如果需要更改,可以修改: \Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c 中配置系统时钟的宏。 */ bsp_Init(); PrintfLogo(); /* 打印例程Logo到串口1 */ bsp_InitTM7705(); /* 初始化配置TM7705 */ if (g_TM7705_OK == 0) { printf("未检测到 AD7705\r\n"); } else { printf("已检测到 AD7705\r\n"); TM7705_CalibSelf(1); /* 自校准。执行时间较长,约180ms */ adc1 = TM7705_ReadAdc(1); TM7705_CalibSelf(2); /* 自校准。执行时间较长,约180ms */ adc2 = TM7705_ReadAdc(2); } while (1) { bsp_Idle(); /* 空闲时执行的函数,比如喂狗. 在bsp.c中 */ TM7705_Scan2(); /* 扫描两个个ADC通道, 无等待的 */ { /* 读取扫描结果 (结果定时读取即可) */ adc1 = TM7705_GetAdc1(); adc2 = TM7705_GetAdc2(); /* 打印采集数据 */ { int volt1, volt2; /* 计算实际电压值(近似估算的),如需准确,请进行校准 */ volt1 = (adc1 * 5000) / 65535; volt2 = (adc2 * 5000) / 65535; printf("CH1=%5d (%5dmV) CH2=%5d (%5dmV)\r", adc1, volt1, adc2, volt2); } } } }
对ADC测试用例,不同部分功能的测试用例
2022-01-13 14:57:56 146KB 测试
1
STM32F10x 16通道电压采集显示设计,采集过程中用DMA将采集数据传到RAM,在由USART以115200的波特率发送到上位机(PC机),PC机用 VS2010 MFC 编写界面,实时显示每个通道的电压。界面为两个对话框,次对话框用于设置串口。 完整下位机程序,上位机程序比较大,我分两次上传的,见谅! 基于Keil MDK实现
2022-01-12 20:56:47 1.66MB STM32 ADC1 数据采集 DMA
1
STM32F4-core-for-STM32-Arduino 这是此处托管的 Roger Clark STM32 Arduino 项目的 STM32F4 内核的克隆: : 该存储库包括对 spi.c、spi.h、rccF2.h 和 rccF2.c 的更改,以便在 16 位 48KHz 菲利普斯标准模式下使用 STM32F4 发现的 CS43l22 音频编解码器。 添加了一个新文件,其中包括两个主要功能: codec_16_bit_setup(); // 这会在端口 C 上设置 I2S3,在端口 B 上设置 I2C 以初始化编解码器。 该函数放在 setup() 中。 codec_send_data() 通过 I2S 向编解码器发送 16 位数据,并将音频发送到耳机插Kong。 提供了一个示例。 我最终会着手为 I2S 和编解码器制作一个合适的库,其中所有设置命令都可以由用
2022-01-12 16:20:59 406KB C
1
O   引言   Sigma-Delta ADC是一种目前使用为普遍的高精度ADC结构,在精度达到16位以上的场合,Sigma-Delta是必选的结构。从原理上来说,它有点类似于游标卡尺。我们知道,游标卡尺上的刻度其实并没有0.02mm,但是我们却可以用它来测量到0.02mm的精度。是不是很神奇?原理就在于,主尺的刻度是1mm,副尺的刻度是0.98mm,测量过程中把1mm和0.98mm的差值不断累积,这个过程就是Delta-Sigma。1mm与0.98mm的差值就是Delta,不断累积,直至主副尺重合的过程就是Sigma。   Sigma-Delta ADC的运作过程,就是把待测信号Vin与参
1
微芯科技(Microchip Technology)推出低功耗22位Delta-Sigma ADC——MCP355X,其内部有自动失调和增益校准,适用于汽车传感器接口、工业仪表、压力传感器、心脏速率监视器、称重表,以及手持表等。    该转换器工作电压范围:2.7-5.5V,输出低噪音2.5μVrms。其失调误差为3μV,满刻度误差为2ppm,最大INL误差为6ppm,总不可调整误差小于10ppm。取样速率为13.75SPS,数字滤波器无建立时间,转换单一指令通过3线SPI接口进行。    MCP355X采用8引脚MSOP和SOIC封装,扩展工作温度从-40℃到125℃。转换电流较低,2.7V
1