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单片机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
STM32F407IGT6单片机ADC实验+DAC实验例程7个合集KEIL工程源码+文档说明: ADC-单通道采集.rar ADC-单通道采集(DMA).rar ADC-双ADC慢速交叉模式.rar ADC-多通道采集(DMA).rar ADC-芯片温度读取.rar DAC-可调电压输出.rar DAC-正弦波.rar
STM32F407IGT6单片机SPI FLASH读写实验例程5个合集KEIL工程源码+文档说明: SPI-串行Flash小数存储.rar SPI-串行Flash整数存储.rar SPI-串行Flash读写测试.rar SPI-基于串行Flash的FatFs功能使用.rar SPI-基于串行Flash的FatFs文件系统.rar
STM32F407IGT6单片机 CHIPD(芯片ID)实验例程22个合集KEIL工程源码+文档说明: int main(void) { /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); Get_ChipID(); /* 芯片的唯一ID */ printf("\r\n芯片的唯一ID为: %X-%X-%X\r\n",CPU_ID[0],CPU_ID[1],CPU_ID[2]); /* 芯片的容量 */ printf("\r\n芯片flash的容量为: %dK \r\n", *(__IO uint16_t *)(0x1FFF7A22)); /* 无限循环 */ while (1) { } }
3.5寸TFT液晶屏模块原理图+AD封装库+STM32F407IGT6单片机显示实验例程11个合集KEIL工程源码+文档说明: 3.5寸TFT液晶显示屏模块原理图.rar HAL_3.5LCD-001. LCD-液晶显示.rar HAL_3.5LCD-002. LCD-基本图形显示.rar HAL_3.5LCD-003. LCD-显示英文(字模在内部Flash).rar HAL_3.5LCD-004. LCD-显示中文(字模在内部Flash).rar HAL_3.5LCD-005. 烧写LCD显示需要的中文字库.rar HAL_3.5LCD-006. LCD-显示中文(字模在外部Flash,根据串口写入字库).rar HAL_3.5LCD-007. LCD-显示中文(字模在外部Flash,根据U盘写入字库).rar HAL_3.5LCD-008. LCD-显示图片(内部FLASH).rar HAL_3.5LCD-009. LCD-显示图片(图片在U盘).rar HAL_3.5LCD-010. LCD-触摸画笔.rar HAL_3.5LCD-011. 液晶显示随意变量.rar