导航:首页 > 操作系统 > 单片机rcc

单片机rcc

发布时间:2022-06-20 05:34:01

‘壹’ 请问如何写单片机的库函数

你说的是3.0以上的固件库吗?
systeminit()函数在主程序中被rcc_configuration()函数调用,完成系统时钟的配置功能。我看过这个函数的具体内容,是直接操作寄存器来完成配置。如果使用stm32f10x_rcc.c文件中的函数来完成时钟配置,和systeminit()的顺序和效果一样。
当然,为了保证兼容性,使低版本固件库写的程序运行,就还有stm32f10x_rcc.c存在,像早期版本的rcc_configuration()函数就是使用这个文件中提供的函数来完成时钟配置的。
补充:是的,systeminit()函数完成了时钟初始化的功能。另外systick的使用也变简单了,以前要几个函数完成初始化,现在只要一个就行。
你看看3.0版本固件system_stm32f10x.c中的代码是怎样的吧。其中是对rcc寄存器直接赋值操作,和stm32f10x_rcc.c中相关的函数作用一样。
如果在程序中要使用端口、外设等,由于这些东西需要时钟才能工作,所以还是需要stm32f10x_rcc.c中的函数来完成时钟的控制。

‘贰’ stm32配置 RCC->CR=0x0000000; RCC->CFGR=0x00000000; 我配置了之后 芯片依然啊工作的哦

先调用SystemInit函数来初始化单片机,就是设置单片机的始终,然后调用mian主函数正式开始你编写的程序。

‘叁’ 请问STM32程序中的这几个头文件,各有什么作用

都是.c文件,不是头文件啊。stm32f10x_it.c 中断处理函数都放在这个文件里面。main.c 这个不用解释了吧stm32f10x.h 这个是头文件,它包含了stm32的一些常用宏,寄存器结构体的定义,高版本的库还放着中断向量表。stm32f10x_rcc.c 这个文件里的固件函数包含了一些对复位、时钟的控制的函数stm32f10x_gpio.c这个文件里的固件函数包含了对GPIO的操作函数stm32_eval.c 这个是st公司为其制作的评估板写的程序system_stm32f10x.c主要包含了对系统时钟设置,一般是对倍频时钟的设置 具体可以看一下文件内容啊,呵呵 欢迎追问 追问: 您好,非常感谢您!我是刚刚学习STM32。我还有几个问题。
三、GPIO_InitTypeDef GPIO_InitStructure;
ErrorStatus HSEStartUpStatus;
u8 count=0;
四、void Delay(vu32 nCount);
希望您能帮助我,我会给您高分的。 回答: 1、因为引脚本来就是16个的啊,从pin0~pin15,GPIOA口有16个脚,GPIOB也有16个,GPIOC也有16个,是这样区分的,它是相对于一组io口的细分,ALL来代替的是选中了这一组io 2、不可以,呵呵你要选择到底是GPIOA还是GPIOB还是...C还是...D等等的GPIO_Pin_03、GPIO_InitTypeDef、ErrorStatus是两个结构体,u8是定义的unsigned char你可以通过keil的go to definition选项找到它们的定义,这个是标准C的定义 4、不是,这两个是函数。你的C语言基础太差,估计很多都看不懂吧,呵呵,建议先补习一下C语言 欢迎追问 追问: 嗯,是的C语言基础不太好,以前学单片机主要是用汇编。

‘肆’ 求解,关于stm32单片机的io口使能,为什么我看视频教程的时候没有设置使能,就能使用io口,但是

开启GPIO时钟就行了
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);
这是调用的库函数 stm32f10x_rcc.c中有

看这个函数(用户函数)里有这一句:
void LED_GPIO_Config(void)
{
/*定义一个GPIO_InitTypeDef类型的结构体*/
GPIO_InitTypeDef GPIO_InitStructure;
/*开启LED的外设时钟*/
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);
/*选择要控制的GPIOB引脚*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
/*设置引脚模式为通用推挽输出*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/*设置引脚速率为50MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/*调用库函数,初始化GPIOB0*/
GPIO_Init(GPIOB, &GPIO_InitStructure);

/*选择要控制的引脚*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;

GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;

GPIO_Init(GPIOC, &GPIO_InitStructure);

/* 关闭所有led灯 */
GPIO_SetBits(GPIOB, GPIO_Pin_0);

/* 关闭所有led灯 */
GPIO_SetBits(GPIOC, GPIO_Pin_4|GPIO_Pin_3);
}

‘伍’ rcc-csr单片机csr是什么意思

ADC_CSR是一个变量名0x03表示十六进制的03,0x为十六进制的标志ADC_CSR=0x03就表示将十六进制的03赋值给变量ADC_CSR

‘陆’ 32位单片机中按下按键之后灯闪烁的rcc函数是哪个

闪烁一般是要延时的。 空指令。TIM。systick。PWM. DAC都行。

‘柒’ STM32单片机中RCC_APB2PeriphClockCmd的作用是设置时钟但是是设置什么时钟,其中的参数是什么

void RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

1、第一个参数选外设端口。

2、第二个选enable or disable。

3、直接看库源文件STM32F10x_StdPeriph_Driversrcstm32f10x_rcc.c,1090行,已经写明了可用的参数。

(7)单片机rcc扩展阅读:

STM32的使用原理:

除新增的功能强化型外设接口外,STM32互连系列还提供与其它STM32微控制器相同的标准接口,这种外设共用性提升了整个产品家族的应用灵活性,使开发人员可以在多个设计中重复使用同一个软件。新ST的M32的标准外设包括10个定时器、两个12位1-Msample/s 模数转换器 (交错模式下2-Msample/s)、两个12位数模转换器、两个I2C接口、五个USART接口和三个SPI端口。

新产品外设共有12条DMA通道,还有一个CRC计算单元,像其它STM32微控制器一样,支持96位唯一标识码。低功耗模式共有四种,可将电流消耗降至两微安。从低功耗模式快速启动也同样节省电能;启动电路使用STM32内部生成的8MHz信号,将微控制器从停止模式唤醒用时小于6微秒。

‘捌’ STM32 RCC系统初始化失败 单片机跑不起来

/* Flash 2 wait state */
//FLASH_SetLatency(FLASH_Latency_2);
/* Enable Prefetch Buffer */
//FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
不能被注释掉,这是在配置flash的等待周期,48 MHz < SYSCLK ≤ 72 MHz
时是需要有两个等待周期得,否则flash有可能进入写保护,详细请看St的STM32F10xxx Flash programming这个文档,其中FLASH_ACR寄存器的最低3位就是配置等待周期的,这是必须要配的
或者你直接调用Systeminit就不用自己配时钟了

‘玖’ 什么时候需要用到RCC

需要用到外设的重映射功能时才需要使能AFIO的时钟
外部中断(EXTI)中与AFIO有关的寄存器是AFIO-EXTICR1、2、3,它们是用来选择EXTIx外部中断的输入脚之用

‘拾’ 【ARM】RCC->APB2ENR|=1<<5; //使能PORTD时钟 RCC->APB2ENR=1<<5; 以上两句代码效果差别是什么

这基本上有两个答题方向, 端看问题人想要知道的是什么.


  1. 语法

    在语法上, = 与 |= 是不同概念.
    a = 2 ; // a变数为2
    a |= 2 ; // 等同于 a = (a | 2); 只有a=0时, a才会是2
    OR语法若不清楚, 网路上很容易查到Digital Logic方面的介绍.

  2. 单片机功能

    RCC->APB2ENR, 指的是APB2(第二组Peripheral Bus)各区块IP的Clock使能或禁能.
    在语法上的作用同前,
    (1) = 1<<5 ; // 将APB2ENR这一rigister内容设定为(1<<5), 也就是只有bit5代表的硬件使能生效.
    (2) |= 1<<5 ; // 将APB2ENR这一rigister内容OR(1<<5), 也就是除原有硬件使用设定外, 额外增加bit5代表的硬件, 可以工作.


由于题目没有列出单片机的型别, 各家也不一样, 这边引用STM32F1的某型号,

当使用 ( = 1<<5) 此APB2 bus上仅有PORTD有效;

当使用 ( |= 1<,5) 此APB2 bus上, 原有设定不变, 额外增加使能PORTD.

阅读全文

与单片机rcc相关的资料

热点内容
php中怎么注释 浏览:992
adxl345与单片机 浏览:279
服务器世界第一是什么公司的 浏览:19
精通编程入门 浏览:16
99单片机原理 浏览:61
linuxssh互信 浏览:288
支持128加密的浏览器 浏览:292
程序员下载器 浏览:48
退出云服务器代码 浏览:900
军状如命令 浏览:263
如何安卓系统更新 浏览:74
linux命令在哪里输入 浏览:497
编程语言集合类怎么选 浏览:93
如何将pdf转化为word 浏览:11
迈克菲隔离区解压密码 浏览:785
怎么用伟福编译 浏览:867
计算机算法专家 浏览:501
什么app清理垃圾 浏览:643
android流媒体服务器 浏览:183
各种算法的时间复杂度是指 浏览:116