日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stm32c8t6之跑马灯程序配置

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stm32c8t6之跑马灯程序配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前提:正點原子的stm32f103RCT6 容量大小256kb
實際使用的是stm32f103c8t6 容量大小64kb

啟動文件的選擇

ST 公司提供了 3 個啟動文件給我們,分別用于不同容量的 STM32 芯片,這三個文件是:
startup_stm32f10x_ld.s
startup_stm32f10x_md.s
startup_stm32f10x_hd.s
其中,ld.s 適用于小容量 產品;md.s 適用于中等容量產品;hd 適用于大容量產品

啟動文件的一點小修改

不過這個啟動文件,我們做了一點點修改,具體是 Reset_Handler 函數,該函數修改后代碼
如下:

Reset_Handler PROCEXPORT Reset_Handler [WEAK]IMPORT __main ;寄存器版本代碼,因為沒有用到 SystemInit 函數,所以注釋掉 ;庫函數版本代碼,建議加上這里(外部必須實現 SystemInit 函數),以 ;初始化 stm32 時鐘等。;IMPORT SystemInit;LDR R0, =SystemInit;BLX R0 LDR R0, =__mainBX R0ENDP

這段代碼,我們屏蔽了復位中斷服務函數(Reset_Handler)對函數 SystemInit 的調用,如
果是庫函數版本,可以取消這個函數的注釋,并在外部實現 SystemInit 函數。

sys.h和sys.c是由正點原子提供

sys 文件夾內共 5 個文件:sys.c、sys.h、stm32f10x.h、system_stm32f10x.h 和 core_cm3.h。
**其中sys.c和sys.h是由ALIENTEK提供,**我們將重點介紹。而其他三個文件則是拷貝自STM32F1
的 CMSIS 庫文件,主要包含了 STM32F1 的寄存器定義、位定義以及內存映射等,我們的代碼
里面需要用到這些內容,所以直接拷貝過來即可

個人總結

  • 查了很多博客還有《cortex-cm3權威指南》這一本書,基于cm3內核的寄存器映射等,應該都是一樣的!

  • 正點原子的sys.c和sys.h好像只是,具體的實現了位帶的操作!以后看到詳細的作用還會繼續補充,也歡迎各位網友給出指導意見!

  • 具體操作中忘記了相應的io口的配置,導致程度燒錄的不如預期!沒有配置時鐘使能,設置相應的io口為推挽輸出!

  • 沒有搞清楚的知識點

  • 選錯了芯片會造成什么影響
  • 其二文件的配置為什么要這樣配置?
  • 指導內容在《stm32不完全寄存器手冊》中有,但是為什么這樣配置有點百思不得其解!


    總結

    以上是生活随笔為你收集整理的stm32c8t6之跑马灯程序配置的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。