OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2521|回复: 3

F1 硬件IIC如何一次发送多个字节?

[复制链接]

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-2-5
在线时间
14 小时
发表于 2020-2-12 12:45:55 | 显示全部楼层 |阅读模式
5金钱
目的:想用F1自带的硬件IIC控制一个DAC模块
系统主机发送函数定义如下,发送函数的数据定义是 uint8_t *pData ,是一个8位指针变量。如果我想发送一个12位的数据
  * @brief  Transmits in master mode an amount of data in blocking mode.
  * @param  hi2c Pointer to a I2C_HandleTypeDef structure that contains
  *                the configuration information for the specified I2C.
  * @param  DevAddress Target device address: The device 7 bits address value
  *         in datasheet must be shifted to the left before calling the interface
  * @param  pData Pointer to data buffer
  * @param  Size Amount of data to be sent
  * @param  Timeout Timeout duration
  * @retval HAL status
HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)

系统主机发送函数定义如上,发送函数的数据定义是 uint8_t *pData ,是一个8位指针变量。
如果我想发送一个12位的数据Dn,能不能通过以下方式,定义一个一维数组,分别存放高四位和第八位,然后把数组第一个元素地址作为形参,数据长度改为2,这样能不能一次发送俩个字节?(被拆分的高低位)
这样做有没有错误?
                void MCP4725_WriteData_Voltage(uint16_t Vout)
                {       
                        uint8_t Data_H, Data_L;
                        uint16_t Dn;
                        Dn = (4096 * Vout) / VRef_5V;
                        Data_H = (Dn>>8) & 0xFF;
                        Data_L = Dn & 0xFF;
                        uint8_t DAC[2] = {Data_H, Data_L};
                        //地址左移一位

                        HAL_I2C_Master_Transmit(&hi2c1, 0x84, &DAC[0], 2, 1000);

                }

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-2-12 22:16:42 | 显示全部楼层
回复

使用道具 举报

10

主题

161

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2019-9-5
在线时间
134 小时
发表于 2020-2-13 08:42:37 | 显示全部楼层
我也想知道答案
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-2-5
在线时间
14 小时
 楼主| 发表于 2020-2-29 10:06:30 | 显示全部楼层

可以实现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-26 06:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表