推荐阅读最新更新时间:2024-11-08 17:13
stm32 系统时钟配置
HSE:72M,HSE:64M,HSI:64M 代码实现: // 时钟设置 //#define MAINCLOCK_72M // HSE,外部时钟 //#define MAINCLOCK_64M_EXTERN // HSE #define MAINCLOCK_64M_INTERAL // HSI /** System Clock Configuration */ void SystemClock_Config(void) { RCC_OSCInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; /**Init
[单片机]
STM32时钟系统与时钟启动顺序详解
概念基础: STM32时钟系统基本一致,不同系列之间有细微差别。此文档主要针对STM32F446的时钟系统进行介绍。 1. 时钟树概述 为何不是采用一个系统时钟?如51 因为STM32本身非常复杂,外设非常多,但是并非所有外设都需要系统时钟这么高的频率,比如看门狗和RTC只需要几十K的时钟即可。同一个电路,时钟越快,功耗越大,同时抗电磁干扰能力也会越弱,所以对于较为复杂的MCU一般采用多时钟源的方法来解决这些问题。 主要时钟源: 5个最主要的时钟源: 高速时钟源:HSI、HSE、PLL 低速时钟源:LSI、LSE 其中PLL实际又分为3个时钟源:主PLL、I2S部分专用PLLI2S、SAI部分专用PLLASI。 详解: L
[单片机]
STM32的CustomHID的各描述符介绍
俗话说的好,看协议手册,不如看源代码来的好! 在USB的工程中,USB的各描述符定义在usb_desc.c文件里面,这里就将USB的各描述符定义代码贴上来,各个数值的意义都已经详细注释。当然很细节的东西看不懂还是建议去看手册去!!! /* USB标准设备描述符*/ const uint8_t CustomHID_DeviceDescriptor = { 0x12, /*bLength:长度,设备描述符的长度为18字节*/ USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType:类型,设备描述符的编号是0x01*/ 0x00, /*bcd
[单片机]
stm32常用printf函数支持接口(标准库与hal库)
stm32常用printf函数支持接口(标准库与hal库) /hal库***************/ int fputc(int ch,FILE *f) { HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,0xFFFF);//hurat1为串口号,根据自己情况进行选择 return ch; } /标准库*******/ int fputc(int ch, FILE *f) { USART_SendData(USART1, (u8) ch); while(!(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == SET))
[单片机]
技术牛人自制STM32开发板学习32位单片机(图文)
实验室快关门了,于是赶着这时间把一直想搞的STM32开发板给做了,顺便把那个2.4寸TFT的转接板也做了,加了个触摸屏。这里上传我的资料。希望对网友有帮助。 我一贯是以实用至上,这次也不例外,开发板分为核心板和主板,主板提供核心板的必要外围设备,同时在没有核心板的时候,主板就成了一个通用的了,为其他核心板(像我做的CPLD/ADUC7027之类的)提供外设了。主板载有功能: STM32开发板LCD显示效果 1,5V,3.3V电源输出(由USB供电或者外部电源都可) 2,USB串口一个(CH341),通用串口2个(MAX232) 3.USB接口一个,支持U盘或者与电脑连接 4,按键三个
[单片机]
一种由IIoT驱动的机器状态监测方法
本文编译自todaysmedicaldevelopments 可靠的智能传感器是预测性维护的基础。通过捕获关键性能数据(温度,振动,位置,压力的变化),制造商可以更好地了解其机器的状况,从而降低潜在风险。接收实时信息使他们能够看到趋势并迅速做出反应,以避免可能导致代价高昂、破坏性的停机等故障,同时保证员工的人身安全。 随着工厂进行数字化和自动化转型,对设备需求正在急剧增长,以防止出现这些问题并实现主动维护。随着需求的增长,随着越来越多的工厂寻求持续的生产和效率,人们对传感器更快速、准确和耐用的期望越来越高。 下一代数据驱动的解决方案 以极小的封装捕获多种类型的测量需求推动了多感测元件的开发,比如TE Connect
[传感器]
STM32上移植FreeRTOS
首先在网上看到大部分移植FreeRTOS 都是选择修改他的启动文件,我个人感觉这样不是很好,毕竟是汇编,当你采用不同的芯片型号时,又要修改不同的xx.S文件,所以我选择修改FreeRTOSconfig.h文件。 1. 下载STM32官方源码:我的是基于V3.5的官方库(有工程模板的可以不用)。 下载FreeRTOS的源码 http://download.csdn.net/detail/jb8154989/6033207 2. 搭建好一个MDK的工程,我这里采用的是野火的工 程, http://download.csdn.net/my/uploads 3. 在工程模板目录下新建一个FreeRTOS文件夹,在FreeRTOS文件夹
[单片机]
STM32-1-STM32时钟系统
在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 ①HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。 在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法 如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理: 1)对于10
[单片机]