精华内容
下载资源
问答
  • 乾勤科技开发的英飞凌 TC264 单片机开发资料,包括iLLD库和使用例程,还有核心板相关的资料,Tricore其它型号单片机也可以参考这套例程,替换一下iLLD库即可。
  • 英飞凌TC264学习(一) GPIO

    千次阅读 多人点赞 2021-02-04 23:18:51
    英飞凌TC264学习(一) GPIO 1.综述:基于龙邱库函数 摄像头接口 龙邱神眼或者OV7725模块 ● 数据端口:P02.0-P02.7口,共8位,接摄像头的数据端口; ● 时钟像素:外部中断第0组:P00_4; ● 场信号:外部中断第3组...

    英飞凌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);
        }
    }
    
    
    展开全文
  • 基于英飞凌TC264DA单片机的汽车发动机异常振动检测装置电路设计.pdf
  • 英飞凌TC264学习(三)定时器

    千次阅读 2021-02-06 23:56:48
    英飞凌TC264学习(三)定时器 定时器相关的函数:(在LQ_STM.c中) * 函数名称:void STM_Init(STM_t stm, STM_Channel_t channel, uint32 us) * 功能说明:STM初始化 * 参数说明: * @param stm : STM标号 STM...

    英飞凌TC264学习(三)定时器

    定时器相关的函数:(在LQ_STM.c中)

     /*************************************************************************
     *  函数名称:void STM_Init(STM_t stm, STM_Channel_t channel, uint32 us)
     *  功能说明:STM初始化
     *  参数说明:
     * @param    stm      : STM标号     STM0 、 STM1
     * @param    channel  : STM通道     STM_Channel_0  STM_Channel_1
     * @param    us       : STM定时中断 时间
     *  函数返回:无
     *  修改时间:2020年3月10日
     *  举    例:STM_InitConfig(STM0, STM_Channel_0, 50000);  //STM0 通道0初始化 50000us 进入一次中断
     *  备    注:外部中断服务函数在LQ_STM.c中  中断优先级配置在LQ_STM.h中 可以自行修改
     *************************************************************************/
     void STM_InitConfig(STM_t stm, STM_Channel_t channel, uint32 us)
     {
     	char      interruptState;
     	interruptState = disableInterrupts();
    
     	Ifx_STM * STM = IfxStm_getAddress((IfxStm_Index)stm);
     	unsigned char Index = (unsigned char)IfxStm_getIndex(STM) * 2 + (unsigned char)channel;
    
     	IfxStm_CompareConfig *stmCompareConfig = &g_StmCompareConfig[Index];
    
     	//调用结构体实现配置
     	IfxStm_initCompareConfig(stmCompareConfig);
    
         //挂起
     	IfxStm_enableOcdsSuspend(STM);
    
     	//获取STM模块的微秒计时 tick 数值
     	sint32 ticks = IfxStm_getTicksFromMicroseconds((Ifx_STM *)STM, us);
    
     	//修改ticks数值,使能触发输出
     	stmCompareConfig->ticks = ticks;
     	stmCompareConfig->comparator           = (IfxStm_Comparator)channel;
     	stmCompareConfig->comparatorInterrupt  = (IfxStm_ComparatorInterrupt)channel; //中断选择
     	stmCompareConfig->triggerPriority      = StmIrqPriority[Index];               //中断优先级设置
     	stmCompareConfig->typeOfService        = StmIrqVectabNum[stm];                //服务内核
    
     	//比较功能初始化
     	IfxStm_initCompare(STM, stmCompareConfig);
     	IfxCpu_Irq_installInterruptHandler((void*)StmIrqFuncPointer[Index], StmIrqPriority[Index]);//配置中断函数和中断号
    
     	restoreInterrupts(interruptState);
     }
    
    
     *  函数名称:void STM_DelayUs(STM_t stm, uint32 us)
     *  功能说明:STM延时
     *  参数说明:
     * @param    stm      : STM标号     STM0 、 STM1
     * @param    us       : STM延时     时间 us
     *  函数返回:无
     *  修改时间:2020310*  举    例:STM_DelayUs(STM0, 5000);  //延时5000us
     *  备    注:使用延时函数时,请确保对应STM模块调用过STM_Init函数
    
    
     *  函数名称:uint32  STM_GetNowUs(STM_t stm)
     *  功能说明:STM获取当前时间
     *  参数说明:
     * @param    stm      : STM标号     STM0 、 STM1
     * @param    us       : STM延时     时间 us
     *  函数返回:无
     *  修改时间:2020310*  举    例:int32_t NowTime =  STM_GetNowUs(STM0);  //获取STM0 当前时间
     *  备    注:使用延时函数时,请确保对应STM模块调用过STM_Init函数
    
    

    delayms和delayus函数的定义也在LQ_STM.c文件中:

     /*************************************************************************
     *  函数名称:void delayms(unsigned short stmms)
     *  功能说明:延时函数
     *  参数说明:无
     *  函数返回:无
     *  修改时间:2020年3月10日
     *  备    注:delayms(1);延时1 ms
     *************************************************************************/
     void delayms(unsigned short stmms)	//
     {
    #if 1
    	while(stmms--)
    	{
    	     STM_DelayUs(STM0, 1000);
    	}
    #else   //不精确延时
    	volatile unsigned long i = 0;
    	while(stmms--)
    	{
    		for (i = 0; i < 16580; ++i)
    		{
    			__asm("NOP"); /* delay */
    		}
    	}
    #endif
     }
    
     /*************************************************************************
     *  函数名称:void delayus(unsigned short us)
     *  功能说明:延时函数
     *  参数说明:无
     *  函数返回:无
     *  修改时间:2020年3月10日
     *  备    注:delayus(1);延时1 us
     *************************************************************************/
     void delayus(unsigned short us)
     {
    #if 0
    
    	 STM_DelayUs(STM0, us);
    
    #else   //不精确延时
    	volatile unsigned long i = 0;
    	while(us--)
    	{
    		for (i = 0; i < 16; ++i)
    		{
    			__asm("NOP"); /* delay */
    		}
    	}
    #endif
     }
    

    定时器中断示例:

    main主函数:

    /*************************************************************************
    *  函数名称: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);
    
    	TFTSPI_Init(1);               // TFT1.8初始化0:横屏  1:竖屏
    	TFTSPI_CLS(u16BLACK);         // 清屏
    	TFTSPI_P16x16Str(0,0,(unsigned char*)"北京龙邱智能科技",u16RED,u16BLUE);// 字符串显示
    
    	// 按键初始化
    	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
    
        
    	//用户代码
    	STM_InitConfig(STM0, STM_Channel_0, 5000000);//STM初始化,5秒高低电平变换一次一次
    	STM_InitConfig(STM0, STM_Channel_1, 1000000);//STM初始化,1秒高低电平变换一次一次
        while (1)	//主循环
        {
            //LED_Ctrl(LED0,RVS);        //电平翻转,LED闪烁
            delayms(100);
        }
    }
    
    

    用到的中断服务函数:

    /*************************************************************************
    *  函数名称:void STM0_CH0_IRQHandler(void)
    *  功能说明:
    *  参数说明:无
    *  函数返回:无
    *  修改时间:2020年3月30日
    *  备    注:STM0_CH0使用的中断服务函数
    *************************************************************************/
    void STM0_CH0_IRQHandler(void)
    {
    	/* 开启CPU中断  否则中断不可嵌套 */
    	IfxCpu_enableInterrupts();
    
    	//清除中断标志
    	IfxStm_clearCompareFlag(&MODULE_STM0, g_StmCompareConfig[0].comparator);
    
    	//开启新的中断配置,开始下次中断
    	IfxStm_increaseCompare(&MODULE_STM0, g_StmCompareConfig[0].comparator, g_StmCompareConfig[0].ticks);
    
    	/* 用户代码 */
    	LED_Ctrl(LED0,RVS);        //电平翻转,LED闪烁
    }
    
    /*************************************************************************
    *  函数名称:void STM0_CH1_IRQHandler(void)
    *  功能说明:
    *  参数说明:无
    *  函数返回:无
    *  修改时间:2020年3月30日
    *  备    注:STM0_CH1使用的中断服务函数
    *************************************************************************/
    void STM0_CH1_IRQHandler(void)
    {
    	/* 开启CPU中断  否则中断不可嵌套 */
    	IfxCpu_enableInterrupts();
    
    	//清除中断标志
    	IfxStm_clearCompareFlag(&MODULE_STM0, g_StmCompareConfig[1].comparator);
    
    	//开启新的中断配置,开始下次中断
    	IfxStm_increaseCompare(&MODULE_STM0, g_StmCompareConfig[1].comparator, g_StmCompareConfig[1].ticks);
    
    	/* 用户代码 */
    	LED_Ctrl(LED1,RVS);        //电平翻转,LED闪烁
    
    }
    
    展开全文
  • 英飞凌TC264学习(五) 1.OLED屏 示例: 主函数: int core0_main (void) { //char txt[16]; // 关闭CPU总中断 IfxCpu_disableInterrupts(); // 关闭看门狗,如果不设置看门狗喂狗需要关闭 IfxScuWdt_...

    英飞凌TC264学习(五)

    1.OLED屏

    示例:
    主函数:

    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
    
    	 Test_OLED();           //PASS,测试OLED0.96屏使用P20.14--10,显示字符串及动态数据
    
        // 所有含有中断的测试都默认在CPU0中执行,如果需要用CPU1请参考龙邱B站视频。
        while (1)	//主循环
        {
            LED_Ctrl(LED0,RVS);        //电平翻转,LED闪烁
            delayms(100);
        }
    }
    
    

    TEST_OLED函数:

    void Test_OLED(void)
    {      
        OLED_Init();                          //OLED初始化
        OLED_Show_LQLogo();                   //显示LOGO
        delayms(2000);
        OLED_CLS();
      
        while (1)
        {  
            //OLED_P6x8Str(0,7,"OLED 3.");         //字符串
    		//delayms(1000);
            //OLED_Rectangle(0, 0, 127,62,0);      //绘制矩形
            //OLED_Rectangle(24,8,88,55,1);
    		//OLED_Rectangle(32,16,80,47,1);
    		//OLED_Rectangle(40,24,72,39,1);
            //delayms(1000);
            //OLED_CLS();                          //清屏
            
            // x  : 0-127
            // y  : 0-6
            //一个字符高16  OLED高度64
            OLED_P8x16Str(0, 0,"OLED 1.");       //显示字符串,前两个参数为位置,左上角为0,0  右下角 127,63
            delayms(1000);
            OLED_P8x16Str(60,4,(unsigned char*)"wdlnb");      //OLED_P14x16Str,显示汉字,需要添加字库
            //OLED_PutPixel(120,60);
            delayms(1000);
            OLED_CLS();                          //清屏
            
            OLED_Fill();                         //填充
            delayms(1000);
            OLED_CLS();                          //清屏
            
            //延时
            delayms(50);
        }
    }
    
    展开全文
  • 英飞凌TC264学习(四)串口通信UART 串口部分的函数在LQ_UART.c中 TC264有四路UART中断,需要中断可以来配置中断,与外部中断一样,中断服务函数,中断号,优先级,不需要中断的话就不用配置,初始化之后就可以使用...

    英飞凌TC264学习(四)串口通信UART

    串口部分的函数在LQ_UART.c中
    TC264有四路UART中断,需要中断可以来配置中断,与外部中断一样,中断服务函数,中断号,优先级,不需要中断的话就不用配置,初始化之后就可以使用。

    例子:
    主函数:

    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
    
        Test_ADC_7mic();       //PASS,测试ADC\UART0、STM延时和闪灯,通过UART0打印 AN0--AN7共8个通道ADC转换数据
    
        while (1)	//主循环
        {
            LED_Ctrl(LED0,RVS);        //电平翻转,LED闪烁
            delayms(100);
        }
    }
    

    UART初始化函数:

    /*************************************************************************
    *  函数名称:void UART_InitConfig(UART_RX_t RxPin, UART_TX_t TxPin, unsigned long baudrate)
    *  功能说明:串口模块初始化
    *  参数说明:
      * @param    RxPin   : 串口接收管脚
      * @param    TxPin   : 串口发送管脚
      * @param    baudrate: 波特率
    *  函数返回:字节
    *  修改时间:2020年3月10日
    *  备    注:UART_InitConfig(UART0_RX_P14_1,UART0_TX_P14_0, 115200);   //初始化串口0 波特率 115200 无奇偶校验 1停止位 使用管脚P14_0 P14_1
    *************************************************************************/
    void UART_InitConfig(UART_RX_t RxPin, UART_TX_t TxPin, unsigned long baudrate)
    {
    	//省略。。。
    }
    

    测试函数:

    /*************************************************************************
    *  函数名称:void Test_Beacon7mic(void)
    *  功能说明:采集测试6+1麦克风阵列
    *  参数说明:无
    *  函数返回:无
    *  修改时间:2020年3月10日
    *  备    注:    ADC悬空不为零
    *************************************************************************/
    void Test_ADC_7mic(void)
    {
        char txt[200];
        unsigned int MICVmin[8];
    
        ADC_InitConfig(ADC0, 80000); //初始化
        ADC_InitConfig(ADC1, 80000); //初始化
        ADC_InitConfig(ADC2, 80000); //初始化
        ADC_InitConfig(ADC3, 80000); //初始化
        ADC_InitConfig(ADC4, 80000); //初始化
        ADC_InitConfig(ADC5, 80000); //初始化
        ADC_InitConfig(ADC6, 80000); //初始化
        ADC_InitConfig(ADC7, 80000); //初始化   如果使用龙邱母板  则测分压后的电池电压,具体可以看母板原理图
        delayms(500);                //延时等待
    	UART_PutStr(UART0,"\n-------------------------------------------------\n");//分界线
    	while(1)
    	{
    		MICVmin[0]=ADC_Read(ADC0);
    		MICVmin[1]=ADC_Read(ADC1);
    		MICVmin[2]=ADC_Read(ADC2);
    		MICVmin[3]=ADC_Read(ADC3);
    		MICVmin[4]=ADC_Read(ADC4);
    		MICVmin[5]=ADC_Read(ADC5);
    		MICVmin[6]=ADC_Read(ADC6);
    		MICVmin[7]=ADC_Read(ADC7);
    
    		//转换结果为字符串,串口发送或者屏幕显示
    		sprintf(txt,"[0]:%05d  [1]:%05d  [2]:%05d  [3]:%05d  [4]:%05d  [5]:%05d  [6]:%05d  [7]:%05d  \r\n",MICVmin[0],MICVmin[1],MICVmin[2],MICVmin[3],MICVmin[4],MICVmin[5],MICVmin[6],MICVmin[7]);
    		//串口发送到上位机
    		UART_PutStr(UART0,txt);//AN0--AN7十进制数据输出到上位机
    		
        	LED_Ctrl(LED0,RVS);        //电平翻转,LED闪烁
    		delayms(500);              //延时等待
    	}
    }
    

    LQ_UART.c相关函数:

    /*************************************************************************
    *  函数名称:void UART_PutStr(UART_t  uratn, char *str)
    *  功能说明:UART发送字符串函数(遇 NULL 停止发送),使用前请先初始化对应串口
    *  参数说明:uratn : UART0 - UART3/ str   : 要打印的字符串地址
    *  函数返回:无
    *  修改时间:2020年3月10日
    *  备    注:UART_PutStr(UART3, "123456789"); //发送9个字节
    *************************************************************************/
    void UART_PutStr(UART_t  uratn, char *str)
    {
       while(*str)
        {
            UART_PutChar(uratn, *str++);
        }
    }
    
    
    /*************************************************************************
    *  函数名称:void UART_PutChar(UART_t  uratn, char ch)
    *  功能说明:UART发送字节函数,使用前请先初始化对应串口
    *  参数说明:uratn : UART0 - UART3/ ch    : 要打印的字符
    *  函数返回:无
    *  修改时间:2020年3月10日
    *  备    注:UART_PutChar(UART0, 'a');  //打印字符a
    *************************************************************************/
    void UART_PutChar(UART_t  uratn, char ch)
    {
    	IfxAsclin_Asc_blockingWrite(&g_UartConfig[uratn], ch);
    }
    
    展开全文
  • 英飞凌TC264学习(二)外部中断

    千次阅读 2021-02-06 00:03:31
    英飞凌TC264学习(二)外部中断 一.外部中断说明: 1.256个向量第一个也就是第0号的中断向量无效.仅用来占位置.所以一共有255个向量,但是要占用256个向量的位置 2.向量表以优先级别排序数字越小优先级别越低,与arm...
  • 同时英飞凌为大家提供了一定数量的SAK-TC264D-40F200NBC免费样片供参赛学生申请和35元低价样片供参赛选手购买。 这个前提之下,作为支持智能车竞赛的第三方硬件模块供应商,被无数次催问是否会做TC264核心板?是否会...
  • TC264是双核单片机,在用两个和运行同一资源时会出现竞争的问题,例如CPU0,CPU1在同时调用一个串口时会出现竞争,导致从串口输出值出现乱码,我们可以通过软件来解决这一问题,这就类似于互斥锁。 双方在在开同一扇...
  • 基于英飞凌TC264D的MPU6050调用DMP的移值MPU6050接线(软件模拟I2C通信)程序部分新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的...
  • 英雄飞凌TC264DA最小核心板 为了更好地理解,TC264的最小系统,自己做了一块,经2版,现测试正常工作。 我做的板子的内核1.3V电源可实现双功能,LDO和BUCK自适应。
  • 英飞凌TC264之定时器

    2021-01-27 00:00:07
    定时器STM中断: 配置定时器中断 /* GPIO外部中断 中断服务函数 中断号(cpu0,cpu1,DMA) 优先级*/ IFX_INTERRUPT(STM0_CH0_IRQHandler, STM0_VECTABNUM, STM0_CH0_PRIORITY); IFX_INTERRUPT(STM0_CH1_IRQHandler, STM...
  • 英飞凌TC264之ADC

    2021-01-27 18:50:22
    ADC: ADC理论有8个转换器,可同步转换;每个转换8个通道,精度为8/10/12位。 ADC端口AN可以作为输入口,不可作为输出口,与ARM单片机不同! ADC初始化: /* * 参数说明:channel ADC通道 * 参数说明:Freq_Hz ADC...
  • 英飞凌TC264之按键

    2021-01-28 18:28:30
    1.按键初始化: /* * 参数说明:pin : 管脚标号 lq_gpio.h中定义 * mode : GPIO 模式 lq_gpio.h中的宏定义中选择 * output : 输出模式时,输出电平 1:高电平 0:低电平 */ void PIN_InitConfig(GPIO_Name_t pin,...
  • 中断不一定由CPU来响应对于TC1782,.还可能是由PCP来响应对于多核的器件还可由其它核来响应.某些中断必须由某个特定的中断master(CPU或者PCP)来响 二.如何开启外部中断 也就是说只能开启4个外部中断,且每组内不能...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 535
精华内容 214
关键字:

英飞凌tc264