完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
亲爱的英飞凌工程师,我正在使用 CYT2B7 微控制器,我想用这个微控制器驱动用于驱动七段管的 ch455g 模块。
我使用了:D:traveo2TVII_Sample_Driver_Library_6.4.0tviibe1msrc 文件夹下的演示程序,并复制了 iic 演示主程序 从 D:traveo2TVII_Sample_Driver_Library_6.4.0tviibe1msrcexamplesscbi2cmaster 我运行了演示程序,因为我使用了与演示程序相同的引脚配置。 我认为硬件没问题,我做了以下改动: 我只想向 ch455g 发送 2 个字节:例如,当我向它发送 0x48 0x01 时,它将启用七段管、 然后我发送 0x68 0xff,电子管中就会显示数字 0。 ch455g 从站地址是 0x24,我已经设置好了。 但当我检查波形时 例如 int main(void) { SystemInit(); __enable_irq(); /* 启用全局中断。 */ /* 初始化端口和时钟 */ Peripheral_Initialization(外设初始化); /* Initilize Enable I2C */ Cy_SCB_I2C_DeInit(USER_I2C_SCB_TYPE); Cy_SCB_I2C_Init(USER_I2C_SCB_TYPE, g_stc_i2c_config, g_stc_i2c_context); Cy_SCB_I2C_SetDataRate(USER_I2C_SCB_TYPE, E_I2C_FREQUENCY, E_I2C_SCBCLK); Cy_SCB_I2C_RegisterEventCallback(USER_I2C_SCB_TYPE, (scb_i2c_handle_events_t)Scb_I2C_Master_Event, g_stc_i2c_context); Cy_SCB_I2C_Enable(USER_I2C_SCB_TYPE); /* 启用中断 */ NVIC_EnableIRQ(CPUIntIdx1_IRQn); /* I2C 主站模式测试 */ //Scb_I2C_Master_LowLevelAPI_Test(); Scb_I2C_Master_HighLevelAPI_Test(0x41, 0x42); for(;;) { Scb_I2C_Master_HighLevelAPI_Test(0x41, 0x42); Cy_SysTick_DelayInUs(50000); //Scb_I2C_Master_HighLevelAPI_Test(0x68, 0xff); } 波形似乎有 3 个字节 0x48 0x41('A)0x42('B) 但当我改为 Scb_I2C_Master_HighLevelAPI_Test(0x68, 0xff); 时,却没有波形,这让我有点困惑。 为什么我将发送的字节改为 (0x48, 0x01) 或 (0x68, 0xff),却没有任何波形? 为什么? 或者,如果我想使用 gpio 来模拟 iic 而不使用 demo api。 如何在需要时将 sda 引脚设置为输入或输出,我没有找到有关如何设置 gpio 引脚方向的信息。 |
|
相关推荐
1个回答
|
|
要使用CYT2B7微控制器通过IIC驱动CH455G模块来驱动七段管,您需要按照以下步骤操作:
1. 首先,确保您已经安装了必要的软件和驱动程序,例如Keil MDK、Infineon DAVE等。 2. 打开D:traveo2TVII_Sample_Driver_Library_6.4.0tviibe1msrc文件夹中的演示程序。 3. 复制iic演示主程序到您的项目中。您可以从D:traveo2TVII_Sample_Driver_Library_6.4.0tviibe1msrcexamplesscbi2cmaster文件夹中找到iic演示主程序。 4. 根据您的硬件配置,修改引脚配置。确保您使用了与演示程序相同的引脚配置。 5. 根据您的需求,修改IIC通信协议。您需要向CH455G模块发送特定的命令来控制七段管。以下是您提到的示例: a. 发送0x48 0x01以启用七段管。 b. 发送0x68 0xff以在七段管上显示数字。 6. 在您的代码中,实现IIC通信函数。这通常包括初始化IIC接口、发送和接收数据等。 7. 在主函数中,调用IIC通信函数以发送所需的命令。 8. 编译并下载代码到CYT2B7微控制器。 9. 检查硬件连接,确保CH455G模块和七段管正确连接。 10. 上电并观察七段管的显示结果。如果一切正常,您应该能看到预期的数字显示。 请注意,这里提供的步骤仅供参考。具体的实现细节可能因您的硬件配置和项目需求而有所不同。如有需要,请查阅相关文档和示例代码以获取更多详细信息。 |
|
|
|
只有小组成员才能发言,加入小组>>
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
994 浏览 2 评论
3892 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3338 浏览 9 评论
1052 浏览 8 评论
3304 浏览 7 评论
194浏览 2评论
51浏览 2评论
141浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
1011浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
179浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-26 14:31 , Processed in 1.148059 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号