历史上的今天
今天是:2025年05月18日(星期日)
2018年05月18日 | AVR开发笔记——熔丝位
2018-05-18 来源:eefocus
1、首先是stm32f10x.h中的HSE_VALUE
#if !defined HSE_VALUE
#ifdef STM32F10X_CL
#define HSE_VALUE ((uint32_t)12000000)//这里修改为12MHz
// #define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */注释掉
#else
#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
#endif /* STM32F10X_CL */
#endif /* HSE_VALUE */
2、修改分频/倍频系数使系统时钟变为72MHz
在system_stm32f10x.c的void SystemInit (void)函数下有一个SetSysClock()继续找static void SetSysClock(void)下的SetSysClockTo72();修改后如下一段代码:
其中被注释掉的部分为原来的代码。
/* Configure PLLs ------------------------------------------------------*//* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */
/* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */
RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL |
RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC);
// RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 |
// RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);
//HSE = 12 PLL2CLK = (HSE / 3) * 10 = 40 MHz
RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV3 | RCC_CFGR2_PLL2MUL10 |
RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);
/* Enable PLL2 */
RCC->CR |= RCC_CR_PLL2ON;
/* Wait till PLL2 is ready */
while((RCC->CR & RCC_CR_PLL2RDY) == 0)
{
}
//
// /* PLL configuration: PLLCLK = PREDIV1 * 9 = 72 MHz */
// RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);
// RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 |
// RCC_CFGR_PLLMULL9);
RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 |
RCC_CFGR_PLLMULL6);
#else
// /* PLL configuration: PLLCLK = HSE * 9 = 72 MHz */
// RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
// RCC_CFGR_PLLMULL));
// RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
RCC_CFGR_PLLMULL));
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);
上一篇:AVR 启动时间 设置方法
史海拾趣
|
年初到现在,接触DSP已经半年了,由于公司没有人指导,做了这么久都没出什么大的成果,也走了不少的弯路。以前做单片机用C编过一些程序,个人觉得还可以。现在看来也只是在吃以前在学校里面一些C语言皮毛的老本,加上一些网上说的所谓的技巧什么的 ...… 查看全部问答> |
|
求教,我的电脑按照MINI2440手册上安装了platform builder 5.0及其2007补丁之前还安装了EVC4及其SP4以及platform manager,但是在装好了以上这些并导入mini2440BSP 和光盘里的mini2440.pbxml后编译一段时间后中止,信息中有系统找不到制定文件,还有 ...… 查看全部问答> |
|
三、VC软件工程师 职位名称:VC软件工程师 数量:1名 具体要求: 1. 电子信息技术或计算机相关专业,本科以上学历; 2. 有两年以上C++/VC开发经验 3. 有T ...… 查看全部问答> |
|
VxWorks下读写文件速度太慢,大概要5分钟才能打开一个文件! 请问是什么原因呢? 我是用CF卡放在主驱动器上的,是不是中断没挂上去啊,所以响应特别慢! 有什么办法呢? … 查看全部问答> |
|
1. XP , WIN7系统都能自动识别U盘,为什么U盘不需要加载USB驱动就能被系统识别? 2. 为什么有的设备需要加载USB驱动后才能工作? 而有的又不需要加载USB驱动就能工作(比如我的数码相机)? 请大家帮我解惑,最好是说说原理,谢 ...… 查看全部问答> |
|
资料也多,调试也很方便,果然没选错啊。真后悔当初没买两块。 电压3.5V,发射模块可以直接使用,方便。 下午把发送模式刚刚调好,很是激动啊,明天开始调接收,嘿嘿 [ 本帖最后由 shower.xu 于 2011-10 ...… 查看全部问答> |
|
看了一个adc驱动代码,用的是request_irq();但是程序里面没有对中断相关寄存器的adc中断使能位打开的语句,我是从单片机转到ARM的新手,请问是不是内核在request_irq函数里直接自动完成寄存器置位的?… 查看全部问答> |




