英飞凌TC264学习(一)GPIO

1.综述:基于龙邱库函数

摄像头接口 龙邱神眼或者OV7725模块
● 数据端口:P02.0-P02.7口,共8位,接摄像头的数据端口;
● 时钟像素:外部中断第0组:P00_4;
● 场信号:外部中断第3组:P15_1;

编码器 推荐GPT12模块,共可以实现5路正交解码增量编码器(兼容带方向编码器)信号采集,任意选择四路即可;
P33_7, P33_6 龙邱TC母板编码器1
P02_8, P33_5 龙邱TC母板编码器2
P10_3, P10_1 龙邱TC母板编码器3
P20_3, P20_0 龙邱TC母板编码器4

电感电压采集模块或者麦克风模块
推荐使用AN0-7,共八路ADC,可以满足chirp声音信号及电磁车电感电压采集;
AN0-3 龙邱TC接四个麦克风模块或者电感

默认电机接口
使用GTM模块,ATOM四个通道可产生4*8共32路PWM,而且各自频率和占空比可调,推荐使用ATOM0的0-7通道;
第一组双路全桥驱动
P23_1 龙邱TC母板MOTOR1_P
P32_4 龙邱TC母板MOTOR1_N
P21_2 龙邱TC母板MOTOR2_P
P22_3 龙邱TC母板MOTOR2_N
第二组双路全桥驱动
P21_4 龙邱TC母板MOTOR3_P
P21_3 龙邱TC母板MOTOR3_N
P20_8 龙邱TC母板MOTOR4_P
P21_5 龙邱TC母板MOTOR4_N

默认舵机接口
使用GTM模块,ATOM四个通道可产生4*8共32路PWM,而且各自频率和占空比可调,推荐使用ATOM2;
P33_10 龙邱TC母板舵机1
P33_13 龙邱TC母板舵机2

默认屏幕显示接口,用户可以使用TFT或者OLED模块
TFTSPI_CS P20_14 龙邱TC母板 CS管脚 默认拉低,可以不用
TFTSPI_SCK P20_11 龙邱TC母板 SPI SCK管脚
TFTSPI_SDI P20_10 龙邱TC母板 SPI MOSI管脚
TFTSPI_DC P20_12 龙邱TC母板 D/C管脚
TFTSPI_RST P20_13 龙邱TC母板 RESET管脚

OLED_CK P20_14 龙邱TC母板OLED CK管脚
OLED_DI P20_11 龙邱TC母板OLED DI管脚
OLED_RST P20_10 龙邱TC母板OLED RST管脚
OLED_DC P20_12 龙邱TC母板OLED DC管脚
OLED_CS P20_13 龙邱TC母板OLED CS管脚 默认拉低,可以不用

默认按键接口
KEY0p P22_0 龙邱TC母板上按键0
KEY1p P22_1 龙邱TC母板上按键1
KEY2p P22_2 龙邱TC母板上按键2
DSW0p P33_9 龙邱TC母板上拨码开关0
DSW1p P33_11 龙邱TC母板上拨码开关1

默认LED接口
LED0p P10_6 龙邱TC母板核心板上LED0 翠绿
LED1p P10_5 龙邱TC母板核心板上LED1 蓝灯
LED2p P20_6 龙邱TC母板上LED0
LED3p P20_7 龙邱TC母板上LED1

默认蜂鸣器接口
BEEPp P33_8 龙邱TC母板上蜂鸣器接口

定时器
有两个CCU6模块 每个模块有两个独立定时器 触发定时器中断
推荐使用CCU6模块,STM用作系统时钟或者延时;
 

2.LED实现闪烁

#include <include.h>//各个模块的头文件
#include <IfxCpu.h>
#include <IfxScuCcu.h>
#include <IfxScuWdt.h>
#include <IfxStm.h>
#include <IfxStm_reg.h>
#include <LQ_CAMERA.h>
#include <LQ_CCU6.h>
#include <LQ_GPIO_KEY.h>
#include <LQ_GPIO_LED.h>
#include <LQ_MotorServo.h>
#include <LQ_SOFTI2C.h>
#include <LQ_TFT18.h>
#include <LQ_UART.h>
#include <LQ_Inductor.h>
#include <Main.h>
#include "LQ_ImageProcess.h"

App_Cpu0 g_AppCpu0; // brief CPU 0 global data
IfxCpu_mutexLock mutexCpu0InitIsOk = 1;   // CPU0 初始化完成标志位
volatile char mutexCpu0TFTIsOk=0;         // CPU1 0占用/1释放 TFT

/*************************************************************************
*  函数名称:int core0_main (void)
*  功能说明:CPU0主函数
*  参数说明:无
*  函数返回:无
*  修改时间:2020年3月10日
*  备    注:
*************************************************************************/
int core0_main (void)
{
    //char txt[16];

	// 关闭CPU总中断
	IfxCpu_disableInterrupts();

	// 关闭看门狗,如果不设置看门狗喂狗需要关闭
	IfxScuWdt_disableCpuWatchdog(IfxScuWdt_getCpuWatchdogPassword());
	IfxScuWdt_disableSafetyWatchdog(IfxScuWdt_getSafetyWatchdogPassword());

	// 读取总线频率
	g_AppCpu0.info.pllFreq = IfxScuCcu_getPllFrequency();
	g_AppCpu0.info.cpuFreq = IfxScuCcu_getCpuFrequency(IfxCpu_getCoreIndex());
	g_AppCpu0.info.sysFreq = IfxScuCcu_getSpbFrequency();
	g_AppCpu0.info.stmFreq = IfxStm_getFrequency(&MODULE_STM0);

	// 按键初始化
	GPIO_KEY_Init();
	// LED灯所用P10.6和P10.5初始化
	GPIO_LED_Init();

	// 串口P14.0管脚输出,P14.1输入,波特率115200
	UART_InitConfig(UART0_RX_P14_1,UART0_TX_P14_0, 115200);

	// 开启CPU总中断
	IfxCpu_enableInterrupts();

	// 通知CPU1,CPU0初始化完成
	IfxCpu_releaseMutex(&mutexCpu0InitIsOk);
	// 切记CPU0,CPU1...不可以同时开启屏幕显示,否则冲突不显示
	mutexCpu0TFTIsOk=0;         // CPU1: 0占用/1释放 TFT
   
    while (1)	//主循环
    {
        LED_Ctrl(LEDALL,RVS);        //电平翻转,LED闪烁
        delayms(100);
    }
}

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曲入冥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值