STM32F407IGT6移植成功的UCOS和UCGUI,源码是基于MDK编译器的,对于刚刚接触UCOS和UCGUI的同学来说是一份很好的资料。
2022-05-02 09:06:36 42.95MB STM32F407 UCOSIII UCGUI 源码
1
STM32F407IGT6开发板-STM32F407IGT6开发板原理图.pdf
2022-01-26 12:12:47 4.13MB 电子设计
1
STM32F407IGT6单片机RFID射频(RC522)模块实验KEIL软件DEMO工程源码,可做为你的人学习设计参考。 int main(void) { /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); /* 初始化3.5寸TFT液晶模组,一般优先于调试串口初始化 */ BSP_LCD_Init(); LCD_Clear(0,0,LCD_DEFAULT_WIDTH,LCD_DEFAULT_HEIGTH,BLACK); /* 开背光 */ LCD_BK_ON(); LCD_DispString_EN_CH(70,50,(uint8_t *)"YS-F4Pro开发板",BLACK,BLUE,USB_FONT_24); printf("RC522初始化\n"); RC522_Init(); PcdReset(); M500PcdConfigISOType ( 'A' );/* 设置工作方式 */ printf("RC522初始化完成\n"); while ( 1 ) { IC_test ();/* IC卡检测 */ } } /** * 函数功能: 门禁测试函数 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void IC_test ( void ) { char cStr [ 30 ]; unsigned char ucArray_ID [ 4 ]; /* 先后存放IC卡的类型和UID(IC卡序列号) */ uint8_t ucStatusReturn; /* 返回状态*/ while ( 1 ) { /*寻卡*/ if ( ( ucStatusReturn = PcdRequest ( PICC_REQALL, ucArray_ID ) ) != MI_OK ) /*若失败再次寻卡*/ ucStatusReturn = PcdRequest ( PICC_REQALL, ucArray_ID ); if ( ucStatusReturn == MI_OK ) { /*防冲撞(当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作)*/ if ( PcdAnticoll ( ucArray_ID ) == MI_OK ) { sprintf ( cStr, "The Card ID is: %02X%02X%02X%02X", ucArray_ID [ 0 ], ucArray_ID [ 1 ], ucArray_ID [ 2 ], ucArray_ID [ 3 ] ); printf ( "%s\r\n",cStr ); LCD_DispString_EN(10,200,cStr,BLACK,RED,USB_FONT_24); } } }
STM32F407IGT6单片机 NRF24L01无线模块(一对多通信)实验KEIL源码工程,可以做为你的学习设计参考。 NRF2L01是一款工作在2.4~2.5GHz世界通用ISM频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型SchockBurst模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、频道选择和协议的设置可以通过SPI接口进行设置。 极低的电流消耗:当工作在发射模式下发射功率为-6dBm时电流消耗为9.0mA,接收模式时为12.3mA。掉电模式和待机模式下电流消耗更低。 MUC可与该模块通过SPI接口访问芯片的寄存器进行配置,达到控制模块、通过该模块实现无线通讯的目的。
STM32F407IGT6单片机 HC-SR501人体红外感应液晶显示实验KEIL源码工程,可以做为你的学习设计参考。 int main(void) { uint8_t state; uint32_t lcdid; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); /* 人体红外感应模块初始化 */ HC_SR501_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 *)"HC-SR501人体红外模块检测",BLACK,YELLOW,USB_FONT_24); LCD_DispString_EN_CH(105,200,"人体活动信号",BLACK,WHITE,USB_FONT_24); /* 无限循环 */ while (1) { state=HC_SR501_StateRead(); switch(state) { case HC_SR501_HIGH: LCD_DispString_EN_CH(80,200,"有",BLACK,RED,USB_FONT_24); break; case HC_SR501_LOW: LCD_DispString_EN_CH(80,200,"无",BLACK,RED,USB_FONT_24); break; } } }
STM32F407IGT6单片机 HC-SR501人体红外感应模块(串口屏显示)KEIL软件工程源码, int main(void) { uint8_t state; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); HMI_USARTx_Init(); /* 初始化LED */ LED_GPIO_Init(); HC_SR501_GPIO_Init(); /* 无限循环 */ while (1) { state=HC_SR501_StateRead(); switch(state) { case HC_SR501_LOW: HMI_string_setting("page1.t1.txt=\"无人\""); break; case HC_SR501_HIGH: HMI_string_setting("page1.t1.txt=\"有人\""); break; } } } /** * 函数功能: 向串口屏发送数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_value_setting(const char *val_str,uint32_t value) { uint8_t tmp_str[30]={0}; uint8_t i; sprintf((char *)tmp_str,"%s=%d",val_str,value); for(i=0;iDR=tmp_str[i]; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } /** * 函数功能: 向串口屏发送浮点数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_string_setting(const char *val_str) { uint8_t tmp_str[50]={0}; uint8_t i; sprintf((char *)tmp_str,val_str); for(i=0;iDR=tmp_str[i]; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); }
本资源使用STM32F407IGT6平台实现MAX31856测温且使用库函数写法。注释清晰,附带接线说明,且留下了作者本人的练习邮箱,有问题可以联系询问。
本资源使用STM32F407IGT6平台实现MAX31856测温且使用寄存器写法。注释清晰,附带接线说明,且留下了作者本人的练习邮箱,有问题可以联系询问。
STM32F407IGT6单片机USART串口通信实验例程9个合集KEIL工程源码+文档说明: YSF4_HAL-008. USART1-同步异步串行通信.rar YSF4_HAL-009. USART2-同步异步串行通信.rar YSF4_HAL-010. USART6-同步异步串行通信.rar YSF4_HAL-011. UART4-异步串行通信.rar YSF4_HAL-012. UART5-异步串行通信(RS232).rar YSF4_HAL-013. USART3-RS485双机通信.rar YSF4_HAL-014. RS485接发测试.rar YSF4_HAL-015. USART-调试串口.rar YSF4_HAL-016. USART-指令控制.rar
STM32F407IGT6单片机定时器应用实验例程22个合集KEIL工程源码+文档说明: YSF4_HAL-020. TIM6-基本定时器定时.rar YSF4_HAL-021. TIM7-基本定时器定时.rar YSF4_HAL-022. TIM2-通用定时器定时.rar YSF4_HAL-023. TIM3-通用定时器定时.rar YSF4_HAL-024. TIM4-通用定时器定时.rar YSF4_HAL-025. TIM5-通用定时器定时.rar YSF4_HAL-026. TIM9-通用定时器定时.rar YSF4_HAL-027. TIM10-通用定时器定时.rar YSF4_HAL-028. TIM11-通用定时器定时.rar YSF4_HAL-029. TIM12-通用定时器定时.rar YSF4_HAL-030. TIM13-通用定时器定时.rar YSF4_HAL-031. TIM14-通用定时器定时.rar YSF4_HAL-032. TIM1-高级定时器定时.rar YSF4_HAL-033. TIM8-高级定时器定时.rar YSF4_HAL-034. 定时器捕获频率.rar YSF4_HAL-035. 定时器捕获脉冲宽度.rar YSF4_HAL-036. 定时器PWM输入模式.rar YSF4_HAL-037. TIM-高级定时器比较输出.rar YSF4_HAL-038. TIM-通用定时器PWM输出.rar YSF4_HAL-039. TIM-通用定时器呼吸灯.rar YSF4_HAL-040. TIM-高级定时器PWM输出.rar YSF4_HAL-041. TIM-2个高级定时器比较输出.rar