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

文章目录

目的

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

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

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

模板工程

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

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

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

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

Blinky_LED

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

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

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

本示例代码如下:

c 复制代码
#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            500

void 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);

    // 等待 500ms
    waitTime(IfxStm_getTicksFromMilliseconds(BSP_DEFAULT_TIMER, WAIT_TIME));
}

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

c 复制代码
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

相关推荐
HQB20264 分钟前
EG1192S|屹晶微电子 100V 内置 MOS 异步降压 DC‑DC(零功耗使能)
嵌入式硬件·硬件工程
沐欣工作室_lvyiyi31 分钟前
基于单片机的货物物流轨迹监测系统设计(论文+源码)
单片机·嵌入式硬件·腾讯云·云平台·货物物流轨迹监测
zhangduang_KHKW36 分钟前
ECC - Hamming Code 汉明码
单片机
Lxx_Zw2 小时前
先把轮子转稳,才不会烧心:编码器速度环 PID 怎么接回 PWM
c语言·stm32·单片机·嵌入式硬件
木子n12 小时前
车载以太网与SOME/IP服务化通信实战-05.UDP 还是 TCP:连接管理与超时账、队头阻塞的 200 ms 罚单与 198 节点重连风暴
单片机·tcp/ip·udp·车载以太网·some/ip
逐光者9333 小时前
四位加法器:从半加器到全加器的数字电路设计详解
嵌入式硬件
老当益壮梁奶奶3 小时前
驱动学习(二):从零开始:驱动工程搭建与字符设备驱动框架详解(基于IMX6ULL)
c语言·arm开发·驱动开发·嵌入式硬件·学习
Yyq130208696824 小时前
紫荆M100,RISC-V开源架构,工业控制,电机驱动,国产替代
单片机·嵌入式硬件·risc-v
2501_922639584 小时前
率能半导体 SS6208L半桥MOSFET驱动器:12V/4A集成方案,覆盖电子烟、无线充电、半桥应用三大场景
单片机·嵌入式硬件·硬件工程
尼喃5 小时前
平芯微HY2120-CB充放电一体化:充电口与放电口合并电路原理图
嵌入式硬件