找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2320|回复: 1
打印 上一主题 下一主题
收起左侧

STM32F429硬件IIC用CubeMX 只能用轮询不能用中断发送?

[复制链接]
跳转到指定楼层
楼主
ID:592379 发表于 2019-7-30 15:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32的从机硬件IIC用CubeMX配置好了,为什么只能使用轮询发送而不能使用中断发送呢?从机中断接收已经实现了,这个项目想从1788平台换到32平台,对IIC要求很高,需要每2个毫秒通过IIC获取一次从机的传感器状态,从机用轮询模式发送肯定不行的。
部分代码如下:

  HAL_Init();
  /* Configure the system clock */
  SystemClock_Config();
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  MX_I2C2_Init();
  MX_TIM3_Init();
  MX_TIM2_Init();
  MX_TIM4_Init();

  /* USER CODE BEGIN 2 */
HAL_TIM_Base_Start_IT(&htim2);
HAL_TIM_Base_Start_IT(&htim3);
HAL_TIM_Base_Start_IT(&htim4);
uint8_t sendbuf[12] = {12,80,3,22,4,6,5,7,9,8};
uint8_t readbuf[12] = {0};

// printf("=== START===\r\n\r\n");
  /* USER CODE END 2 */
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */

  while (1)
  {
  /* USER CODE END WHILE */
  /* USER CODE BEGIN 3 */
      
  l_byBuf2[0] += 1;
  l_byBuf2[1] += 1;
  l_byBuf2[2] += 1;
  l_byBuf2[3] += 1;
  HAL_I2C_Slave_Transmit(&hi2c2,(uint8_t *)&l_byBuf2[0],4,100);
// HAL_I2C_Slave_Transmit_IT(&hi2c2,(uint8_t *)&l_byBuf2[0],4);   
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123823 发表于 2020-12-31 09:06 | 只看该作者
解决了吗?我也遇到这样的问题。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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