当前位置: 首页 > news >正文

MPC5744P(二)工程模板代码解析

哈喽各位小伙伴!上一篇带着大家从零创建了简易工程模板,项目框架已经搭建完毕啦。为了让大家对整体的工程有个大致了解,今天对整个工程模板做一个大致的讲解

(一)src文件夹文件结构及主要内容

系统文件结构如下:

  • 复位与启动配置flashrchw.c
  • 系统时钟与模式初始化mode_entry.c
  • 中断系统初始化MPC57xx_Interrupt_Init.cVector.c
  • 中断服务与向量分发intc_SW_handlers.Sintc_SW_mode_isr_vectors_MPC5744P.c
  • 外设与应用代码main.cperipherals/文件夹下的外设驱动
片上外设文件结构:
就是添加片上外设驱动的.c和.h文件,目前还没开始写,就只有一个adc.c(这个后续也会重新写)
文件如下图:

(二)主函数

先进行初始化,调用了下面这几个函数。
xcptn_xmpl():是中断初始化代码的入口,会配置 IVPR/IVOR、开启中断控制器,是中断系统初始化的总入口。在后续文章中将单独写一个章节对中断进行讲解
peri_clock_gating();开启外设时钟门控,让 ADC 等外设获得时钟信号
system160mhz();系统时钟配置:通过 PLL 配置系统时钟为 160MHz,配置分频器和工作模式。时钟配置详见下一章节。
关于外设时钟门控的配置,并不复杂,就相当于,每多添加一个片上外设的时候,就得给这个外设开一扇门,门打开才能接收到系统传输过来的时钟信号,但是系统的时钟信号是如何传输过来的,需要另行配置。例如:
我现在要使用ADC1外设,那么我应该将MC_ME_PCTL126寄存器与RUN_PC[1]配置到一起,查看手册MC_ME_PCTL126寄存器
将MC_ME_PCTL126的RUN_CFG位配置位001,就选择了RUN_PC[1]的配置
代码如下:
void peri_clock_gating (void) { MC_ME.RUN_PC[0].R = 0x00000000; /* gate off clock for all RUN modes */ MC_ME.RUN_PC[1].R = 0x000000FE; /* enable peri clock for all RUN modes*/ /* Note: RUN_PC0 is default cfg for PCTLs*/ MC_ME.PCTL126.R = 0X00000001; }
当然,新添一个外设模块没这么省事,还需要在时钟配置里配置时钟(时钟选择、时钟频率等),这里只是讲一下时钟门的配置。
初始化完了就执行主循环里的代码了。
下一章节开始讲MPC5744P的时钟配置。
http://www.jsqmd.com/news/1112475/

相关文章:

  • 2026毕业生降AIGC软件盘点:实力出众+稳定过检哪家强?
  • Node.js 轻量任务调度:别一开始就上复杂平台
  • NVIDIA联合多所顶尖高校打造的“全能机器人大脑“
  • 什么是操作系统的接口
  • 还在纠结自建团队还是外包?我们找到了第三条路
  • Docker 安全加固:镜像小不是唯一目标
  • 终极网盘下载提速指南:告别限速,9大平台直链获取完整教程
  • 网约车集成地图
  • Tokio 取消任务:异步代码不能只会 spawn
  • 容器查询实践:组件响应式不能只依赖视口宽度
  • 独立产品发布观测:上线后第一小时,别只盯访问量
  • 漏斗分析:掉得最多的一步,不一定最该优化
  • MetaTube插件:3分钟打造完美Jellyfin媒体库的终极元数据解决方案
  • RAG是什么?企业为什么需要自己的知识库?
  • 数据分析师核心技能全栈学习指南:Excel、SQL、Tableau、Python实战路径
  • 专科生论文写作神器:8款AI工具全流程指南
  • Rust 错误处理分层:库代码别急着打印日志
  • OpenClaw多模态实战:从配置到工作流设计
  • 2026论文双降终极榜单:10款降AI率工具,智能改写快速定稿成文
  • 3分钟掌握Sketchfab模型下载:免费获取高质量3D资源的完整指南
  • 如何高效的停止和删除所有 Docker 容器 ?
  • STM32F429ZI与MC6470 IMU的运动控制实现
  • 全自动脚本,免费且无广!
  • CTFshow弱口令爆破
  • Spring Boot整合MongoDB实战:从CRUD到聚合查询
  • 终极指南:3步永久保存iPhone微信聊天记录到电脑的免费工具
  • 暗黑破坏神2存档编辑器:5分钟重塑你的游戏体验
  • SoftCnKiller:专杀国内流氓软件的工具解析与使用指南
  • 构建工具链深度定制:能不定制就别定制
  • Three.js 瓦片地图教程