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

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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版