久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8217|回復(fù): 6
收起左側(cè)

全球首發(fā),使用hal庫Proteus 仿真stm32f103實現(xiàn)跑馬燈

[復(fù)制鏈接]
ID:230913 發(fā)表于 2018-8-12 20:16 | 顯示全部樓層 |閱讀模式
全球首發(fā),使用hal庫Proteus 仿真stm32f103實現(xiàn)跑馬燈

由于3.5的庫,Proteus 支持不太好,開始轉(zhuǎn)向hal庫。


stm32.jpg



  1. #include "led.h"


  2. void LED_Init(void)
  3. {
  4.     GPIO_InitTypeDef GPIO_Initure;

  5.     __HAL_RCC_GPIOA_CLK_ENABLE();                   //開啟GPIOA時鐘
  6.         __HAL_RCC_GPIOD_CLK_ENABLE();                   //開啟GPIOD時鐘
  7.        
  8.     GPIO_Initure.Pin=GPIO_PIN_8;                                 //PB5
  9.     GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;          //推挽輸出
  10.     GPIO_Initure.Pull=GPIO_PULLUP;                  //上拉
  11.     GPIO_Initure.Speed=GPIO_SPEED_HIGH;                     //高速
  12.     HAL_GPIO_Init(GPIOA,&GPIO_Initure);

  13.         GPIO_Initure.Pin=GPIO_PIN_2;                                 //PE5
  14.         HAL_GPIO_Init(GPIOD,&GPIO_Initure);
  15.        
  16.     HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET);        //PA8置1,默認初始化后燈滅
  17.     HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);        //PD2置1,默認初始化后燈滅
  18. }
復(fù)制代碼
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"


  5. void SystemClock_Config(void);
  6. void Error_Handler(void);

  7. int main(void)
  8. {
  9.     HAL_Init();                                     //初始化HAL庫   
  10.     //Stm32_Clock_Init(RCC_PLL_MUL9);           //設(shè)置時鐘,72M
  11.          SystemClock_Config();
  12.         delay_init(72);                                       //初始化延時函數(shù)
  13.         LED_Init();                                                        //初始化LED       

  14.         while(1)
  15.         {
  16.                     HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_RESET);         //LED0對應(yīng)引腳PB5拉低,亮,等同于LED0(0)
  17.         HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);           //LED1對應(yīng)引腳PE5拉高,滅,等同于LED1(1)
  18.                                 HAL_Delay(1000);                                                                                 //延時500ms
  19.         HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET);           //LED0對應(yīng)引腳PB5拉高,滅,等同于LED0(1)
  20.         HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);         //LED1對應(yīng)引腳PE5拉低,亮,等同于LED1(0)
  21.         HAL_Delay(1000);
  22.          }
  23. }


  24. void SystemClock_Config(void)
  25. {

  26.   RCC_OscInitTypeDef RCC_OscInitStruct;
  27.   RCC_ClkInitTypeDef RCC_ClkInitStruct;

  28.     /**Initializes the CPU, AHB and APB busses clocks
  29.     */
  30.   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  31.   RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  32.   RCC_OscInitStruct.HSICalibrationValue = 16;
  33.   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
  34.   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  35.   {
  36.     Error_Handler();
  37.   }

  38.     /**Initializes the CPU, AHB and APB busses clocks
  39.     */
  40.   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
  41.                               |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  42.   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
  43.   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  44.   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
  45.   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

  46.   if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
  47.   {
  48.     Error_Handler();
  49.   }

  50.     /**Configure the Systick interrupt time
  51.     */
  52.   HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);

  53.     /**Configure the Systick
  54.     */
  55.   HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);

  56.   /* SysTick_IRQn interrupt configuration */
  57.   HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
  58. }


  59. void Error_Handler(void)
  60. {
  61.   /* USER CODE BEGIN Error_Handler */
  62.   /* User can add his own implementation to report the HAL error return state */
  63.   while(1)
  64.   {
  65.   }
  66.   /* USER CODE END Error_Handler */
  67. }







復(fù)制代碼



1跑馬燈.zip

761.55 KB, 下載次數(shù): 106, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報

ID:375838 發(fā)表于 2019-3-2 22:50 | 顯示全部樓層
能用PLL作為系統(tǒng)時鐘嗎?
回復(fù)

使用道具 舉報

ID:714046 發(fā)表于 2020-4-11 14:18 | 顯示全部樓層
不亮呀
回復(fù)

使用道具 舉報

ID:731476 發(fā)表于 2020-4-17 16:52 | 顯示全部樓層
自己做仿真沒反應(yīng),不知什么原因
回復(fù)

使用道具 舉報

ID:615889 發(fā)表于 2020-4-27 18:29 | 顯示全部樓層
很好謝謝
回復(fù)

使用道具 舉報

ID:442596 發(fā)表于 2021-10-6 09:15 | 顯示全部樓層
沒看到晶振,mcu是怎么工作的呢?
回復(fù)

使用道具 舉報

ID:439809 發(fā)表于 2021-11-1 06:02 來自手機 | 顯示全部樓層
shi634022731 發(fā)表于 2021-10-6 09:15
沒看到晶振,mcu是怎么工作的呢?

自己的內(nèi)部時鐘
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美在线一区 | 成人在线电影在线观看 | 国产美女视频一区 | 亚洲欧美日韩一区二区 | 视频精品一区二区三区 | 亚洲精彩免费视频 | 狠狠骚| 日韩无| 成年人在线观看 | 国产a爽一区二区久久久 | 免费视频久久久久 | 亚洲国产日本 | 日韩亚洲视频 | av国产精品| 无毛av| 久久成人在线视频 | 一区二区三区日韩精品 | 亚洲一区二区免费 | 久久精彩 | 亚洲一区二区精品视频 | 亚洲午夜精品一区二区三区他趣 | 国产精品久久久久一区二区三区 | 欧美日韩精品一区二区三区蜜桃 | 国产欧美日韩综合精品一区二区 | 亚洲一区二区三区观看 | 亚州春色 | 亚洲狠狠丁香婷婷综合久久久 | 国产视频h | 91精品国产91久久久久久最新 | 精品免费在线 | 极情综合网| 精品99在线 | 国产欧美在线 | 日韩欧美精品一区 | 欧美国产在线一区 | 国产精品视频网址 | 国产在线视频一区二区董小宛性色 | 91久久国产 | 国产亚洲一区二区在线观看 | 国产美女在线免费观看 | 欧美成人精品一区二区三区 |