stm32u5

ops/2025/3/15 13:30:55/

//1 使能系统时钟


// 系统时钟初始化  - 不加入会报错 可以尝试一下
void SystemInit(void)
{
  //对地址 0xE000ED88 的内容 进行修改:
  //将0X3向左移动20位 或上 0X3 向左移动22位
  *(unsigned int*) 0xE000ED88|=((3UL << 20U)|(3UL << 22U));
}

int main() 
{
    //GPIOC的RCC寄存器地址,将位2置为1,使能GPIOC的RCC时钟
    *(unsigned int*)0x56020C8C |=1<<2;
    //PC13,配置为通用输出模式,位27和26置为01
    *(unsigned int*)0x52020800 &=~(1<<27);
    *(unsigned int*)0x52020800 |=1<<26;
//GPIO_OTYPER寄存器位13写入0
    *(unsigned int*) (0x52020800+0x04) &=~(1<<13);
//GPIO_OSPEEDR位27和位26写入00
    *(unsigned int*) (0x52020800+0x08) &=~(1<<27);
    *(unsigned int*) (0x52020800+0x08) &=~(1<<26);
//GPIO_ODR寄存器位13写入1 高电平
    *(unsigned int*) (0x52020800+0x14) |=(1<<13);
    
    //PC06,配置为通用输出模式.位13和位12置为01
    *(unsigned int*)0x52020800 &=~(1<<13);
    *(unsigned int*)0x52020800 |=1<<12;
    //GPIO_OTYPER寄存器位06写入0
    *(unsigned int*) (0x52020800+0x04) &=~(1<<6);
    //GPIO_OSPEEDR位13和位12写入00
    *(unsigned int*) (0x52020800+0x08) &=~(1<<13);
    *(unsigned int*) (0x52020800+0x08) &=~(1<<12);
    //GPIO_ODR寄存器位13写入1 高电平
    *(unsigned int*) (0x52020800+0x14) |=(1<<6);
    
    
    //GPIOC的RCC寄存器地址,将位2置为1,使能GPIOC的RCC时钟
    *(unsigned int*)0x56020C8C |=1;
    //PA15,配置为通用输出模式,位31和30置为01
    *(unsigned int*)0x52020000 &=~(1<<31);
    *(unsigned int*)0x52020000 |=1<<30;
    //GPIO_OTYPER寄存器位15写入0
    *(unsigned int*) (0x52020000+0x04) &=~(1<<15);
        //GPIO_OSPEEDR位31和位30写入00
    *(unsigned int*) (0x52020000+0x08) &=~(1<<31);
    *(unsigned int*) (0x52020000+0x08) &=~(1<<30);
    //GPIO_ODR寄存器位15写入1 高电平
    *(unsigned int*) (0x52020000+0x14) |=(1<<15);
    return 0;
}
//2 使能GPIO总线上的时钟
//3 配置GPIO相关的寄存器

文章来源:https://blog.csdn.net/xiaoyu1534/article/details/146191239
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/ops/165952.html

相关文章

rust 中的package、crate、module

初学rust&#xff0c;对crate和mod的使用总是感到不太顺利&#xff0c;特此记录一下。 当我们用cargo 创建一个新项目时&#xff0c;默认就创建了一个package。 PS D:\test\rust_test> cargo new myproject Creating binary (application) myproject package note: see…

红色警戒2:共和国之辉红警语音台词是什么?

红警中的台词中其他台词的意思&#xff1a; 1、new construction ready: 新建造准备 2、building: 开始建造 3、construction complete: 建造完毕 4、on hold: 建造暂停 5、canceled: 建造取消 6、repairing: 修理 7、insufficienct fun: 资金短缺 8、low power: 电力不足 9、p…

离线vs强制登录?Apipost与Apifox的API工具理念差异深度解析

当你的代码遇到断网时&#xff0c;工具应该成为助手还是枷锁&#xff1f; 作为一名全栈工程师&#xff0c;我曾同时使用Apipost和Apifox管理12个微服务项目的API。直到一次无网络环境下的紧急调试&#xff0c;让我彻底看清这两个工具的本质差异—— 当时用Apifox查看历史接口文…

Springboot基础篇(5):自定义 MyBatis Starter

在 Spring Boot 生态中&#xff0c;Starter 是一种非常方便的模块化方式&#xff0c;它可以帮助我们快速集成第三方库或自定义功能。本文将带你一步步实现一个自定义的 MyBatis Starter&#xff0c;并将其发布到 Maven 仓库中&#xff0c;供其他项目使用。 1 什么是 MyBatis S…

爬虫基础:HTTP 状态码大全(备忘清单)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 HTTP 状态码含义1xx. 信息2xx. 成功3xx. 重定向4xx. 客户端错误5xx. 服务器错误RESTful API5xx 永久性否定HTTP 状态码备忘清单。 每个 HTTP 状态代码的快速参考。 参考: 常见 HTTP/FTP/WebSocket 错误代码大全 (gith…

蓝桥杯Python赛道备赛——Day3:排序算法(二)(归并排序、堆排序、桶排序)

本博客是蓝桥杯备赛系列中排序算法的第二期&#xff0c;包括&#xff1a;归并排序、堆排序和桶排序。每一个算法都在给出概念解释的同时&#xff0c;给出了示例代码&#xff0c;以供低年级师弟师妹们学习和练习。 由于本期的三个算法的复杂度相对来说要高于上一期的三个算法&am…

数学 :矩阵

文章目录 前言1. 基本矩阵运算1.1 矩阵加法1.2 矩阵减法1.3 矩阵乘法 2. 转置矩阵3. 旋转矩阵小结 【全文大纲】 : https://blog.csdn.net/Engineer_LU/article/details/135149485 前言 在许多应用场合下&#xff0c;我们都需要用矩阵来表示公式&#xff0c;接下来简洁描述矩阵…

C++ 滑动窗口

前言 C 中滑动窗口分两种&#xff0c;一种是给定窗口长度&#xff0c;还有一种是不定长窗口长度。 本篇文章主要讲解这两种状态的滑动窗口&#xff0c;结合例题让读者更好的理解 一、给定窗口长度K 一般的&#xff0c;对于给定窗口长度的题&#xff0c;通常要求我们对窗口内…