【经验】如何实现基于瑞萨32位MCU RA6T2的I²C+DTC?
如何实现基于瑞萨32位MCU RA6T2的I²C+DTC?本文为你介绍。首先,在e2studio上新建一个工程,打开smart config,进行配置。步骤如下:
(1)
(2)
上图中, slave address跟你板子上的外接i²c器件有关系,本案列外接的是BL24C128。
(3)
如上,DTC的设置,smart config已经自动帮你设置好,不需要修改。
(4)
按上述步骤设置好后,电机,generate project content生成代码。
在hal_entry中添加如下代码,
void g_iic_b_master0_callback(i2c_master_callback_args_t *p_args)
{
if (NULL != p_args)
{
i2c_event = p_args->event;
}
}
fsp_err_t validate_i2c_event(void)
{
uint16_t local_time_out = UINT16_MAX;
/* resetting call back event capture variable */
i2c_event = (i2c_master_event_t)RESET_VALUE;
do
{
/* This is to avoid infinite loop */
--local_time_out;
if(RESET_VALUE == local_time_out)
{
return FSP_ERR_TRANSFER_ABORTED;
}
}while(i2c_event == RESET_VALUE);
if(i2c_event != I2C_MASTER_EVENT_ABORTED)
{
i2c_event = (i2c_master_event_t)RESET_VALUE; // Make sure this is always Reset before return
return FSP_SUCCESS;
}
i2c_event = (i2c_master_event_t)RESET_VALUE; // Make sure this is always Reset before return
return FSP_ERR_TRANSFER_ABORTED;
}
/*******************************************************************************************************************//**
* main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used. This function
* is called by main() when no RTOS is used.
**********************************************************************************************************************/
//uint8_t write_buffer[9] = {0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06};//写数据
uint8_t write_buffer[66]={0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64};
void hal_entry(void)
{
int err_read = 0;
/* TODO: add your own code here */
fsp_err_t err;
err = R_IIC_B_MASTER_Open (&g_i2c_master0_ctrl, &g_i2c_master0_cfg);
if(err)
{
err_read = 0;
}
R_DTC_Open (&g_transfer0_ctrl, &g_transfer0_cfg);
R_DTC_Enable (&g_transfer0_ctrl);
R_DTC_Open (&g_transfer1_ctrl, &g_transfer1_cfg);
R_DTC_Enable (&g_transfer1_ctrl);
err = R_IIC_B_MASTER_Write (&g_i2c_master0_ctrl, write_buffer, 66, false);
while(1)
{
//写
//读
R_BSP_SoftwareDelay(15, 1000);
uint8_t read_buffer_ID[2] ={0x00,0x00};
err = R_IIC_B_MASTER_Write (&g_i2c_master0_ctrl, read_buffer_ID, 2, true);
if(err)
{
err_read = 0;
}
err = validate_i2c_event();
R_BSP_SoftwareDelay(1, 1000);
uint8_t read_buffer[64] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
err = R_IIC_B_MASTER_Read(&g_i2c_master0_ctrl,read_buffer,64,false);
err = validate_i2c_event();
if(err)
{
err_read = 0;
}
R_BSP_SoftwareDelay(500, 1000);
}
#if BSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}
就可以实现i²c的读写。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由强提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】RH850系列32位MCU的CSIH和CSIG接口功能区别详解
瑞萨RH850系列作为在汽车业界首屈一指的32位MCU,在汽车行业应用广泛,从涉及到安全的发动机的电喷,EPS等到仪表,车载娱乐系统都有RH850系列MCU的身影。该系列采用最新的40nm工艺,功能安全方面符合ASIL-B,ASIL-C,ASIL-D等级。笔者最近碰到使用CSI接口的客户咨询RH850\F1L的CSIG和CSIH接口的区别,二者均是CSI接口。
【经验】解析瑞萨电子32位MCU RH850F1KM-S4 CAN的使用
RH850系列32位汽车微控制器在广泛且可扩展的产品范围内提供平衡的高性能和极低的功耗。该系列提供了新的和高级汽车应用所需的丰富功能安全和嵌入式安全特性。针对瑞萨(Renesas)车载RH850系列MCU进行功能模块拆分,为初学者提供最简化历程方法。
【经验】瑞萨32位MCU RH850 CS+环境设置的几个重要问题
本文以入门阶段遇到的问题为重点,讲解了瑞萨32位MCU RH850在CS+环境下新建一个完整的工程到顺利调试需要注意的几个设置。
【产品】支持6路CANFD通讯的32位MCU,可PIN TO PIN 带普通CAN的芯片
瑞萨RH850/F1K系列32位MCU,符合了这点要求。其支持BOSCH公司的CANFD协议,最高通讯速率达10Mhz,通讯数据由8字节,提升到64字节每帧,支持6路CANFD通讯。最重要的是,带CANFD的RH850/F1K可以PIN TO PIN 带普通CAN的RH850/F1L芯片。
【经验】解析瑞萨电子32位MCU RH850F1KM-S4 SPI通讯控制过程
RH850系列32位汽车微控制器(32位MCU)在广泛且可扩展的产品范围内提供平衡的高性能和极低的功耗。该系列提供了新的和高级汽车应用所需的丰富功能安全。针对瑞萨(Renesas)车载RH850系列MCU进行功能模块拆分,为初学者提供最简化历程方法。
【经验】瑞萨32位MCU RA6T2上实现位反转功能的2种方法
本文以瑞萨32位MCU RA6T2为例子,有两种常用的方法可以实现,一种是直接使用arm内核的汇编指令RBIT,另外一种是所谓的碟式交换法。我们在新建的工程中,分别采用这两种方法调实现。
【技术】RH850系列32位MCU三种中断功能,你知道么?
瑞萨电子RH850系列32位MCU符合ISO26262的要求,满足汽车安全等级ASILB –ASILD等级的控制芯片,在全球汽车电子市场上得到广泛应用。
【经验】浅析Renesas32位MCU RH850F1L FLASH擦除掉电保护问题
Renesas推出的RH850系列32位MCU在广泛且可扩展的产品范围内提供平衡的高性能和极低的功耗,该系列提供了新的和高级汽车应用所需的丰富功能安全和嵌入式安全特性。本文浅析Renesas32位MCU RH850F1L FLASH擦除掉电保护问题。
【经验】瑞萨32位MCU RA6T2 rgpt的相位计数模式下GTPR寄存器的作用
RA6T2是瑞萨推出的一款高性能32位MCU,本文将介绍rgpt的相位计数模式下GTPR寄存器的作用。
【经验】RH850/F1Kx系列32位MCU的SENT模块配置和参考设计分享
Renesas推出的RH850/F1Kx系列产品,是具有G3KH CPU内核的32位单芯片微控制器。本文介绍RH850/F1Kx系列MCU 的SENT模块配置和参考设计。
【经验】解析瑞萨电子32位MCU RH850F1KM-S4的看门狗配置方法
看门狗的作用就是防止程序发生死循环,或者说程序跑飞。那么瑞萨电子32位MCU RH850F1KM-S4的看门狗如何配置?本文中世强将为大家解析一二。
【经验】关于32位MCU RH850的CANFD时钟选择收发测试问题
Renesas推出的RH850系列32位汽车微控制器(32位MCU)在广泛且可扩展的产品范围内提供平衡的高性能和极低的功耗,该系列提供了新的和高级汽车应用所需的丰富功能安全和嵌入式安全特性。
【应用】瑞萨32位MCU RH850/F1K系列在高集成度的iBCM中应用
瑞萨汽车级MCU R7F7015573作为瑞萨32位芯片RH850/F1K,采用瑞萨G3KH核,集成功能安全模块ICUS(SHE功能安全),可以支持汽车功能安全等级ASIL B,176PIN多引脚,丰富的CAN总线资源,支持浮点运算,适用于汽车高集成化的iBCM控制模块
【经验】浅析Renesas32位MCU RH850 CSI多从机通讯连接方式
最近客户在使用SPI通讯的时候有了一些问题,在瑞萨MCU中SPI称为CSI,分为CSIG和CSIH,那当多从机通讯的时候应该使用哪一种呢?本文中将为大家浅析Renesas32位MCU RH850 CSI多从机通讯连接方式。
【应用】主频240MHz的32位MCU R5F572NDDDFC用于储能控制板,最大支持4MB闪存
新能源汽车中电源管理系统是最为重要的部分,其中对于电源信息的采集、监控以及各种外设的拓展的需求更是重中之重。今天将介绍一颗高性能的32位MCU R5F572NDDDFC,是储能控制板中主控制器的理想选择。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。
最小起订量: 1 提交需求>
登录 | 立即注册
提交评论