程序为什么运行不了????
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。
求大佬帮忙!!!!!!!!
发这点代码没有意义,要么发工程,要么别发。有点代码能说明什么?
toofree 发表于 2019-6-13 14:56
发这点代码没有意义,要么发工程,要么别发。有点代码能说明什么?
工程是指所有的代码么?
可能是你后面初始化别的外设的时候把这个IO复用到别的功能了,把I2C,SPI这类没用到的初始化先注释掉试试 没有详细的工程文件?或者编译有什么错误提示的 程序肯定是运行了。假设你的程序引脚初始化没问题,输出肯定是在高低电平切换的,只是HAL_Delay(500)只延时了500个tick,太短了。可能灯还没点亮就被关闭了。你把时间延长一点了试试。比如500ms。 花点时间学习 论坛坛主 辛苦翻墙得到的视频:https://www.stmcu.org.cn/video/index/detail/id-4157,就会了。 HAL_ADC_Start(&hadc);
把这行屏蔽是不是就可以了?
sylar.z 发表于 2019-6-13 23:42
程序肯定是运行了。假设你的程序引脚初始化没问题,输出肯定是在高低电平切换的,只是HAL_Delay(500)只延时 ...
HAL_Delay 的单位不就是 millisecond 吗?XDD Cortexxx 发表于 2019-6-14 10:08
HAL_Delay 的单位不就是 millisecond 吗?XDD
HAL_Delay的单位是根据systick来的,systick的中断周期和时钟源有关,不一定是1ms。
页:
[1]
2