ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

OUTPUT the Clock named as MCO IN STM32

2022-09-07 17:31:25  阅读:217  来源: 互联网

标签:MCO named LL APB2ENR 运算符 GPIO OUTPUT define RCC


配置PB3为Alternate Function

配置输出模式

如何确定端口和PIN地址?

GPIOBBASE = 0X40010C00;

(GPIOBBASE + 0X00) |= unint32_t(0X0) << 12; /配置CNF3,pp模式/
运算符优先级:赋值运算符最后 < 移位运算 < 一元运算符 < 后缀运算符
(GPIOBBASE + 0X00ul) |= unint32_t(0X11UL) << 12U; /配置MODE3,50Mhz
/
确定alternate function 时钟是否开启?

RCCBASE = 0X40021000;
(RCCBASE + 0X18ul) |= unint32_t(0x1UL);/RCC_APB2ENR开启*/

U表示无符号型,UL无符号长整型;系统默认数值为int类型,是有符号类型;
配置选择输出的时钟

*(RCCBASE + 0X04ul) |= unint32_t(0x101ul) << 24u;
以下为LL库的内容摘抄

点击查看代码
#define LED2_PIN                           LL_GPIO_PIN_8
#define LED2_GPIO_PORT                     GPIOB
#define LED2_GPIO_CLK_ENABLE()             LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOB)/*LED2_GPIO_CLK_ENABLE() 是被调用的函数*/
#define LL_APB2_GRP1_PERIPH_GPIOB          RCC_APB2ENR_IOPBEN
#define RCC_APB2ENR_IOPBEN_Pos               (3U)                              
#define RCC_APB2ENR_IOPBEN_Msk               (0x1UL << RCC_APB2ENR_IOPBEN_Pos)  /*!< 0x00000008 */
#define RCC_APB2ENR_IOPBEN                   RCC_APB2ENR_IOPBEN_Msk            
#define SET_BIT(REG, BIT)     ((REG) |= (BIT))
#define RCC_BASE              (AHBPERIPH_BASE + 0x00001000UL)
typedef struct
{
  __IO uint32_t CR;
  __IO uint32_t CFGR;
  __IO uint32_t CIR;
  __IO uint32_t APB2RSTR;
  __IO uint32_t APB1RSTR;
  __IO uint32_t AHBENR;
  __IO uint32_t APB2ENR;
  __IO uint32_t APB1ENR;
  __IO uint32_t BDCR;
  __IO uint32_t CSR;


} RCC_TypeDef;
#define RCC                 ((RCC_TypeDef *)RCC_BASE) /**RCC被定义为RCC_TypeDef类型指针**/
  SET_BIT(RCC->APB2ENR, Periphs); /**RCC->APB2ENR通过指针访问变量**/

标签:MCO,named,LL,APB2ENR,运算符,GPIO,OUTPUT,define,RCC
来源: https://www.cnblogs.com/DB-twilight/p/16665445.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有