STM32 APB1总线时钟配置问题

发布者:pengbinyyy最新更新时间:2016-10-07 来源: eefocus关键字:STM32  APB1总线  时钟配置 手机看文章 扫描二维码
随时随地手机看文章
调试载波通信系统的时候遇到这样一个问题:两台设备分别为A何B,他们都使用了定时器2~4来进行通讯,A设备的PCLK1配置为HCLK,而B设备的PCLK1配置为1/2HCLK,通讯过程发现A,B两个设备偶尔能通讯偶尔不能通讯,表现出通讯部稳定。理论上应该完全不能通讯才是,深入研究STM32F101C8T6的数据手册发现问题所在,截图如下:
STM32 APB1总线时钟配置问题 - kanku - kanku的博客
图1  STM32功能框图
STM32 APB1总线时钟配置问题 - kanku - kanku的博客
图2 STM32 时钟系统

从图1可以看到APB1总线挂接了TIM2~4,UART2~2...WWD等设备。然后从图2中可以看到只有外设直接使用了APB1的时钟作为实际时钟,而TIM2~4根据APB1的时钟进行了调整。因此当设备B的PCLK1配置为1/2HCLK时实际上就是将APB1配置为了1/2HCLK,此时因为APB1的分频系数不为1,因此TIM2~4使用的时钟自动2倍频,实际频率就是HCLK了。由于先2分频再2倍频理论上是和HCLK一致,但电路结构等因素将导致得到的结果和直接赋予HCLK不完全一致,导致通讯不稳定。最终通过调整A设备的PCLK1也为1/2HCLK,可以稳定通信。

关键字:STM32  APB1总线  时钟配置 引用地址:STM32 APB1总线时钟配置问题

上一篇:stm32 USART_IT_IDLE
下一篇:STM32F107外部晶振25MHz配置到72MHz运行

推荐阅读最新更新时间:2024-03-16 15:13

STM32的FSMC详解
STM32的FSMC真是一个万能的总线控制器,不仅可以控制SRAM,NOR FLASH,NAND FLASH,PC Card,还能控制LCD,TFT. 一般越是复杂的东西,理解起来就很困难,但是使用上却很方便,如USB. 不过FSMC也有很诡异的地方.如 *(volatile uint16_t *)0x60400000=0x0; // 实际地址A21=1,而非A22. *(volatile uint16_t *)0x60800000=0x0; // 实际地址A22=1,而非A23 为什么呢?那时我还以为软件或硬件还是芯片有BUG, 我就是从上面的不解中开始研究FSMC的….. 1.FSMC信号引脚 S
[单片机]
<font color='red'>STM32</font>的FSMC详解
基于STM32 MCU的太阳能--LED街灯解决方案
随着化石类能源的日益减少,以及温室气体的过度排放导致全球变暖问题越来越受到重视,人们一方面在积极开发各类可再生新能源,另一方面也在倡导节能减排的绿色环保技术。太阳能作为取之不尽、用之不竭的清洁能源,成为众多可再生能源的重要代表;而在照明领域,寿命长、节能、安全、绿色环保、色彩丰富、微型化的LED固态照明也已被公认为世界一种节能环保的重要途径。太阳能-LED街灯同时整合了这两者的优势,利用清洁能源以及高效率的LED实现绿色照明。 本文介绍的太阳能-LED街灯方案,能自动检测环境光以控制路灯的工作状态,最大功率点追踪(MPPT)保证最大太阳能电池板效率,恒电流控制LED,并带有蓄电池状态输出以及用户可设定LED工作时间等功能。 系
[单片机]
基于<font color='red'>STM32</font> MCU的太阳能--LED街灯解决方案
STM32 LED跑马灯-库函数
一,GPIO知识回顾 1,四种输入模式: 输入浮空 输入上拉 输入下拉 模拟输入 2,四种输出模式: 开漏输出 开漏复用输出 推挽输出 推挽复用输出 3,三种最大输出速度 2MHz 10MHz 50MHz 每组GPIO共16个IO口,含下7个寄存器 GPIOx_CRL : 端口配置低寄存器 GPIOx_CRH : 端口配置高寄存器 GPIOx_IDR : 端口输入寄存器 GPIOx_ODR : 端口输出寄存器 GPIOx_BSRR : 端口位设置/清除寄存器 GPIOx_BRR : 端口位清除寄存器 GPIOx_LCKR : 端口配置锁存寄存器 二,LED硬件连接
[单片机]
<font color='red'>STM32</font> LED跑马灯-库函数
keil中STM32设置DEBUG起始地址
在做IAP的时候,分两部分 Bootloader部分起始是0x8000000 APP部分是0x08008000 调试的时候默认设置不能直接写入0x08008000部分 所以作一下设置即可直接DOWNLOAD分别DEBUG APP部分KEIL设置 简单两步即可设置,其实设置的是.scf文件的地址分布
[单片机]
STM32定时器T2纯软件仿真时间准确,JTAG在线调试查看时间不准
通过查看Sec的值和上次中断的差值计算的,虽然这个值是不准的 ,但实际上时间是准的, 原因如下:stm32在调试模式下虽然进断点之后程序停止了,但定时器的时钟还在走,计数器还在计数,若要在产生断点时计数器停止计数可以 在初始化时调用函数DBGMCU_Config(DBGMCU_TIM2_STOP,ENABLE);,这样一来仿真的时候定时时间就是准的了
[单片机]
<font color='red'>STM32</font>定时器T2纯软件仿真时间准确,JTAG在线调试查看时间不准
创建keil工程并点亮STM32板子的LED灯
打开之前创建的工程,如下图所示(keil工程的创建在之前的文章中有,不了解的同学可以翻一下上一篇文章。) (上图是已经建立完成的工程) 然后,再次打开我们之前下载的对应开发板版本的例程包中的点亮LED灯的例程 (路径为:en.stsw-stm32077 \STM32L1xx_StdPeriph_Lib_V1.3.1 \project\STM32L1xx_StdPeriph_Examples \GPIO \IOToggle) 找到mian.c文件打开,全选复制里面的内容 再回到我们之前已经创建完毕的工程中,打开mian.c文件清空,并将GPIO文件中的main.c里面的内容粘贴到我们工程的mian.c中。 此时可以看到有很多
[单片机]
STM32学习笔记之十七——雄关漫道真如铁,如今迈步从头越
一、前言 放下半年,继续STM32的学习。新的学习新起点,决心升级。单片机不换, 调试环境整体升级。包括以下几个方面: 1、调试器换JlinkV7,相比STlink在IAR环境下不用装驱动。虽说V8已经 面世但是针对我的应用V7已经足够。况且手里这个还是带串口的,用起来很方 便。 2、接口换用SWD,四线调试,节省接插件面积为以后电路板的小型化做好准 备。 3、开发板换豆皮,功能比较全面,有MP3和液晶屏幕的扩展板,价格便宜。 4、调试环境换IAR5.3,大势所趋,没办法新的3.0库已经不再支持IAR4 了。 5、固件库换3.0,经过半年发展应该比较完善了,全新的架构。 有了这些更新,等于
[单片机]
按键开关机电路图 按键开关机电路设计方案
最近做个基于STM32脑波检测的项目,甲方爸爸要求使用按键进行开关机。在网上查了一些资料,找到了很多案例分享,在此进行总结。 主要分为以下两部分: 单片机控制按键开关机电路 独立按键开关机电路 1、单片机控制按键开关机电路 1.1、简约版 图中Ctr和Key接单片机管脚,作用如下: Ctr作为开关控制用 Key作为按键检测用 操作流程: 开机:按下按键,Q1导通,单片机上电,控制Ctr为低电平,保持Q1导通。 关机:再按下按键,单片机控制Ctr为高电平,此时松开按键Q1截至,单片机停电。 如图: 简约版 优缺点分析: 优点:电路简单,元器件比较少。 缺点:在停机状态下单片机的IO口依旧带电,正常使用没问
[单片机]
按键开关机电路图 按键开关机电路设计方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved