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

程序为什么运行不了????

[复制链接]
syj1073485275 提问时间:2019-6-13 14:43 /
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */


  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_ADC_Init();
  MX_I2C1_Init();
  MX_SPI1_Init();
  MX_USART1_UART_Init();
  MX_USART2_UART_Init();
  /* USER CODE BEGIN 2 */
        HAL_ADC_Start(&hadc);
       

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_1);
    HAL_Delay(500);

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}




我的main函数中只有一个循环,每0.5秒改变PB1的电平,PB1连得是一个LED灯,为什么没在板子上显示出来?

板子LED灯是可以亮的,可以通过改变MX_GPIO_Init();函数中PB1的初始化设置点亮LED灯。

而且不只是这个函数不能用,直接在循环中写HAL_GPIO_WritePin()函数也不能点亮LED。


求大佬帮忙!!!!!!!!
收藏 评论10 发布时间:2019-6-13 14:43

举报

10个回答
七哥 回答时间:2019-6-13 14:56:21
发这点代码没有意义,要么发工程,要么别发。有点代码能说明什么?
syj1073485275 回答时间:2019-6-13 14:57:30
toofree 发表于 2019-6-13 14:56
发这点代码没有意义,要么发工程,要么别发。有点代码能说明什么?

工程是指所有的代码么?
qiangtech 回答时间:2019-6-13 15:42:56
可能是你后面初始化别的外设的时候把这个IO复用到别的功能了,把I2C,SPI这类没用到的初始化先注释掉试试

评分

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

查看全部评分

TLLED 回答时间:2019-6-13 17:12:12
没有详细的工程文件?或者编译有什么错误提示的

评分

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

查看全部评分

sylar.z 回答时间:2019-6-13 23:42:34
程序肯定是运行了。假设你的程序引脚初始化没问题,输出肯定是在高低电平切换的,只是HAL_Delay(500)只延时了500个tick,太短了。可能灯还没点亮就被关闭了。你把时间延长一点了试试。比如500ms。

评分

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

查看全部评分

慎微 回答时间:2019-6-14 09:25:18
花点时间学习 论坛坛主 辛苦翻墙得到的视频:https://www.stmcu.org.cn/video/index/detail/id-4157,就会了。

评分

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

查看全部评分

byronsong 回答时间:2019-6-14 09:43:51
HAL_ADC_Start(&hadc);

把这行屏蔽是不是就可以了?
Cortexxx 回答时间:2019-6-14 10:08:24
sylar.z 发表于 2019-6-13 23:42
程序肯定是运行了。假设你的程序引脚初始化没问题,输出肯定是在高低电平切换的,只是HAL_Delay(500)只延时 ...

HAL_Delay 的单位不就是 millisecond 吗?  XDD

评分

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

查看全部评分

sylar.z 回答时间:2019-6-14 14:02:08
Cortexxx 发表于 2019-6-14 10:08
HAL_Delay 的单位不就是 millisecond 吗?  XDD

HAL_Delay的单位是根据systick来的,systick的中断周期和时钟源有关,不一定是1ms。
Cortexxx 回答时间:2019-6-15 12:15:46
sylar.z 发表于 2019-6-14 14:02
HAL_Delay的单位是根据systick来的,systick的中断周期和时钟源有关,不一定是1ms。 ...

但是用cubeMX  默认生成的不就久应该是1ms

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版