你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

I2C发送数据的问题

[复制链接]
23度26分! 提问时间:2017-9-29 22:02 /
大家好:
我用STM32cubeMX进行初始化设置,I2C2初始化后,不知道如何发送数据,搜索发现下面函数是主模式的发送函数,但是好奇怪,不太清楚这个函数该怎么写?还请大神指导一下。
我是对一个LED驱动芯片进行通讯的。8位传输,每次发送的数据2到5组不等。

HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size)


收藏 1 评论5 发布时间:2017-9-29 22:02

举报

5个回答
23度26分! 回答时间:2017-10-3 18:06:17
请各位大神指导
ctang 回答时间:2018-1-11 09:29:36

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

infofans 回答时间:2018-1-11 10:13:17
  1. void Single_WriteI2C(uint8_t *data,uint16_t len)
  2. {
  3.         while(HAL_I2C_Master_Transmit(&hi2c3,SlaveAddress,data,len,1000) != HAL_OK)
  4.         {
  5.                 if (HAL_I2C_GetError(&hi2c3) != HAL_I2C_ERROR_AF)
  6.                 {
  7.                         Error_Handler();
  8.                 }
  9.         }
  10. }
复制代码

稍微改改就可以。
infofans 回答时间:2018-1-11 10:15:03
我用的是I2C3轮询模式,可以参考下。

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

nyszx 回答时间:2018-1-11 13:36:20
楼主是不清楚I2C是怎么发送数据的,还是指怎么用库函数发送数据呀,楼主贴的不是中断方式发送函数吗,在驱动帮助里面有xxx_User_Manual.chm,里面很方便查找各个函数,看了有三种发送模式(轮询、DMA、中断):
HAL_I2C_Master_Transmit、 HAL_I2C_Master_Transmit_DMA、 HAL_I2C_Master_Transmit_IT
1.jpg
2.jpg
3.jpg

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版