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

AURIX单片机示例:开发入门与点亮LED

文章目录

  • 目的
  • 模板工程
  • Blinky_LED
  • 示例链接
  • 总结

目的

这个例程比较简单,主要通过这个例程来介绍 AURIX™ Development Studio(ADS)iLLD 库来开发 AURIX 系列单片机一些入门的内容。一些更为基础的资料等内容可以参考下面文章:

《英飞凌 AURIX TriCore 单片机开发入门》

本文中例程基于英飞凌官方 KIT_A2G_TC375_LITE 开发板运行测试。

模板工程

ADSCreate New AURIX Project 后选择对应的芯片就会生成该芯片的模板工程。模板工程目录结构如下:

在这里插入图片描述

模板工程中东西很多,入门点个灯的话大部分不用关心,随便找个 Cpux_Main.c 写代码就行。

稍微需要注意的是外部晶体频率的配置,在 Ifx_Cfg.h 文件中:

在这里插入图片描述

在默认模板工程的启动文件中会去设置系统的各个部分时钟,默认情况下这些时钟都是会设置成可设置的最大值的:

在这里插入图片描述

Blinky_LED

这里说的 Blinky_LED 指的是将用单片机一个引脚设置为输出模式来驱动 LED

英飞凌官方提供了 Blinky_LED 的例程,可以直接导入运行:

在这里插入图片描述

通过 Pin Mapper 工具配置对应的引脚,生成初始化代码:

在这里插入图片描述

本示例代码如下:

在这里插入图片描述

#include "IfxPort.h"
#include "Bsp.h"#define LED_PORT             MODULE_P00
#define LED_PIN              5
#define LED_PORT_MODE        IfxPort_Mode_outputPushPullGeneral
#define LED_PORT_PAD_DRIVER  IfxPort_PadDriver_cmosAutomotiveSpeed2#define WAIT_TIME            500void initLED(void)
{// 设置 P00.5 为推挽输出模式IfxPort_setPinMode(&LED_PORT, LED_PIN, LED_PORT_MODE);// 设置 P00.5 为cmos电平、启动能力2(Strong driver, medium edge (“sm”))IfxPort_setPinPadDriver(&LED_PORT, LED_PIN, LED_PORT_PAD_DRIVER);// 设置 P00.5 输出高电平(根据开发板上这个LED的接法,这会熄灭LED)IfxPort_setPinState(&LED_PORT, LED_PIN, IfxPort_State_high);
}void blinkLED(void)
{// 翻转 P00.5 输出电平IfxPort_setPinState(&LED_PORT, LED_PIN, IfxPort_State_toggled);// 等待 500mswaitTime(IfxStm_getTicksFromMilliseconds(BSP_DEFAULT_TIMER, WAIT_TIME));
}

英飞凌的 iLLD 库中对同一个事情的操作封装了非常多的函数,对于本例程中IO操作就有下面好多:

void IfxPort_setPinModeOutput(Ifx_P *port, uint8 pinIndex, IfxPort_OutputMode mode, IfxPort_OutputIdx index)void IfxPort_setPinHigh(Ifx_P *port, uint8 pinIndex)
void IfxPort_setPinLow(Ifx_P *port, uint8 pinIndex)
void IfxPort_togglePin(Ifx_P *port, uint8 pinIndex)

示例链接

仓库地址: https://github.com/NaisuXu/AURIX_MCU_Examples

本文中的示例位于仓库中 Blinky_LED_TC375

总结

这里只是简单进行了下介绍,上面的内容如果要展开来说的话其实可以讲非常多的内容,这里就不再展开来介绍了。如果对电源、时钟、启动等细节内容感兴趣的也可以参考英飞凌官方的视频介绍:

《AURIX™ TC3xx 进阶培训》https://www.bilibili.com/video/BV12W4y1M7UB

相关文章:

  • 2015年国赛高教杯数学建模B题互联网+时代的出租车资源配置解题全过程文档及程序
  • Ansible-template模块动态生成特定文件
  • docker常用命令、如何查看docker 镜像的sha256值
  • TCP网络编程概述、相关函数、及实现超详解
  • 【frp】frp重启、frp启动、frp后台启动、frps dashboard等等
  • Linux网络:网络编程套接字
  • 【web网页制作】html+css旅游家乡河南开封主题网页制作(4页面)【附源码】
  • Linux基础命令cd详解
  • 如果解决获取数据抖动的问题
  • NetworkPolicy访问控制
  • 分布式数据库——HBase基本操作
  • 认识 Linux操作系统
  • Linux【基础指令汇总】
  • 地区环境保护支出数据(2007-2023年)
  • WindowsTerminal中oh-my-posh样式的cmd、git-bash、cmder配置参数
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • python3.6+scrapy+mysql 爬虫实战
  • [译]CSS 居中(Center)方法大合集
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • FineReport中如何实现自动滚屏效果
  • gf框架之分页模块(五) - 自定义分页
  • JS笔记四:作用域、变量(函数)提升
  • PHP 小技巧
  • Promise面试题2实现异步串行执行
  • Python中eval与exec的使用及区别
  • ReactNative开发常用的三方模块
  • RxJS: 简单入门
  • Vue2.0 实现互斥
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 微信小程序填坑清单
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 项目管理碎碎念系列之一:干系人管理
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # .NET Framework中使用命名管道进行进程间通信
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (~_~)
  • (152)时序收敛--->(02)时序收敛二
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (LeetCode 49)Anagrams
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (论文阅读30/100)Convolutional Pose Machines
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (自用)仿写程序
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .form文件_SSM框架文件上传篇