国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

proteus結合keil-arm編譯器構建STM32單片機項目進行仿真

這篇具有很好參考價值的文章主要介紹了proteus結合keil-arm編譯器構建STM32單片機項目進行仿真。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

? ? proteus是可以直接創(chuàng)建設計圖和源碼的,但是源碼編譯它需要借助keil-arm編譯器,也就是我們安裝keil-mdk之后自帶的編譯器。

? ? 下面給出一個完整的示例,主要是做一個LED燈閃爍的效果。

? ? 新建工程指定路徑,Schematic,PCB layout都選擇默認,在最后創(chuàng)建項目工程向?qū)У臅r候,選擇:Create Firmware Project:

proteus結合keil-arm編譯器構建STM32單片機項目進行仿真,51單片機,單片機,proteus,STM32,寄存器,仿真

? ? ?硬件系列選擇Cortex-M3,控制器類型選擇STM32F103C6(其他類型,可能不會出現(xiàn)Compiler下拉選項),編譯器類型如果沒有選擇項,點擊后面的Compilers按鈕,在彈出框中選擇Keil for ARM,指定keil-mdk安裝的ARM路徑:

proteus結合keil-arm編譯器構建STM32單片機項目進行仿真,51單片機,單片機,proteus,STM32,寄存器,仿真

? ? 這樣生成的項目,自帶源碼,源碼結構如下所示:

proteus結合keil-arm編譯器構建STM32單片機項目進行仿真,51單片機,單片機,proteus,STM32,寄存器,仿真?

? ? 這個源碼還自帶了標準庫中的很多東西,啟動文件,核心文件,所以直接編譯也是沒有問題的。

proteus結合keil-arm編譯器構建STM32單片機項目進行仿真,51單片機,單片機,proteus,STM32,寄存器,仿真?

? ? ?這里雖然有了標準庫中的很多內(nèi)容,但是一些初始化的功能代碼并不在這里,所以需要通過操作寄存器來實現(xiàn)點燈操作。

? ??如下所示,是一個簡單的 通過操作寄存器來讓GPIOA的GPIO_Pin_5端口作為電平輸出口,并開啟時鐘使能的代碼。

#include <stm32f103x6.h>
#include <stm32f1xx.h> 
 
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)) 
#define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr)) 
#define BIT_ADDR(addr, bitnum)   MEM_ADDR(BITBAND(addr, bitnum)) 
 
#define GPIOA_ODR_Addr    (GPIOA_BASE+12) //0x4001080C 
#define PAout(n)   BIT_ADDR(GPIOA_ODR_Addr,n)
 
#define LED0 PAout(5) // PA5 
 
void Delay_nms(unsigned int time)
{    
   unsigned int i=0;  
   while(time--)
   {
      i=12000;  
      while(i--) ;    
   }
}
 
void LED_Init(void)
{   
   RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; // clock enable
   GPIOA->CRL &= 0XFF0FFFFF;  //PA5
   GPIOA->CRL |= 0X00300000;  //PA5 
   GPIOA->ODR |= 1<<5;        //PA5 
}

int main (void)
{    
   LED_Init(); 
   while (1)
   {
      LED0 = 0;
      Delay_nms(50); 
      LED0 = 1;
      Delay_nms(50); 
   }
}

? ? 項目源碼構建成功:

proteus結合keil-arm編譯器構建STM32單片機項目進行仿真,51單片機,單片機,proteus,STM32,寄存器,仿真

? ? 接著,我們直接在原理圖Schematic這里添加發(fā)光二極管和電阻并連線就可以開始仿真了。

proteus結合keil-arm編譯器構建STM32單片機項目進行仿真,51單片機,單片機,proteus,STM32,寄存器,仿真?

? ? 前面源碼構建好了,這里原理圖簡單添加了LED就可以進行仿真了。效果如下所示:

proteus結合keil-arm編譯器構建STM32單片機項目進行仿真,51單片機,單片機,proteus,STM32,寄存器,仿真?

? ? 這種構建仿真,原理圖加源碼的方式很適合沒有單片機,而且不用在Keil和Proteus之間來回切換的情況,但是它的源碼是在臨時文件夾中,如下所示:

proteus結合keil-arm編譯器構建STM32單片機項目進行仿真,51單片機,單片機,proteus,STM32,寄存器,仿真?

? ? 這種方式對于復雜項目而言,可能也有一些弊端。?文章來源地址http://www.zghlxwxcb.cn/news/detail-648195.html

到了這里,關于proteus結合keil-arm編譯器構建STM32單片機項目進行仿真的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • STM32 Keil5報錯-*** Target ‘XXX‘ uses ARM-Compiler ‘Default Compiler Version 5‘ which -安裝編譯器解決

    STM32 Keil5報錯-*** Target ‘XXX‘ uses ARM-Compiler ‘Default Compiler Version 5‘ which -安裝編譯器解決

    安裝的keil 版本是V5.38, 顯示缺少編譯器?Compiler Version 5\\\' *** Target \\\'MUSICPLAYER\\\' uses ARM-Compiler \\\'Default Compiler Version 5\\\' which is not available. 下載編譯器:? Arm Compiler 5.06 update 7 (build 960) ?下載地址:https://developer.arm.com/downloads/view/ACOMP5 Legacy Arm Compiler 5, 4.1, and RVCT (ACOMP5) https://developer.ar

    2024年04月11日
    瀏覽(43)
  • 物聯(lián)網(wǎng)|ARM|Keil同時安裝Keil的C51、C251和MDK|增加V5編譯器|物聯(lián)網(wǎng)開發(fā)系列課程之零基礎玩轉(zhuǎn)Cortex-M系列CPU-學習筆記(1)

    物聯(lián)網(wǎng)|ARM|Keil同時安裝Keil的C51、C251和MDK|增加V5編譯器|物聯(lián)網(wǎng)開發(fā)系列課程之零基礎玩轉(zhuǎn)Cortex-M系列CPU-學習筆記(1)

    1.物聯(lián)網(wǎng)的定義 利用局部網(wǎng)絡或互聯(lián)網(wǎng)等通信技術把傳感器、控制器、機器、人員和物等通過新的方式聯(lián)在一起,形成人與物、物與物相聯(lián),實現(xiàn)信息化、遠程管理控制和智能化的網(wǎng)絡。 2.物聯(lián)網(wǎng)的組成 3.物聯(lián)網(wǎng)應用舉例智能家居 1物聯(lián)網(wǎng)的數(shù)據(jù)源頭 2物聯(lián)的局域網(wǎng)絡源頭 1

    2024年02月05日
    瀏覽(28)
  • KEIL5 各個版本編譯器的下載

    KEIL5 各個版本編譯器的下載

    關于下載了新版本KEIL之后,編譯器版本不對導致以前的程序不能運行,有許多問題需要解決,其中編譯器版本問題是個不能避免的問題; 我之前用的是V5.06 update 7(build 906)版的編譯器,后來升級MDK537之后,編譯器版本就變成V6.16了,因為我是卸載刪除之后再升級的MDK,所以之

    2024年02月02日
    瀏覽(46)
  • Keil MDK安裝armcc V5編譯器

    Keil MDK安裝armcc V5編譯器

    ????????不知道從什么時候開始,Keil MDK默認不支持V5的編譯器了,里面默認只有V6的編譯器,設置界面跟V5有很大的差異不太熟悉。最可怕的是,之前使用V5編譯的工程,換成V6編譯器后居然報錯...雖然修改一下應該也可以正常編譯,但,人總是習慣自己熟悉的東西。所以,

    2024年04月27日
    瀏覽(19)
  • ARM嵌入式編譯器編譯優(yōu)化選項 -O

    Arm嵌入式編譯器可以執(zhí)行一些優(yōu)化來減少代碼量并提高應用程序的性能。不同的優(yōu)化級別有不同的優(yōu)化目標,不僅如此,針對某個目標進行優(yōu)化會對其他目標產(chǎn)生影響。比如想減小生成的代碼量,勢必會影響到該代碼的性能。所以優(yōu)化級別總是這些不同目標(代碼量,程序性

    2024年02月16日
    瀏覽(22)
  • KEIL5MDK安裝及V5編譯器的安裝

    KEIL5MDK安裝及V5編譯器的安裝

    目前keil官網(wǎng)最新版本的安裝包都是默認安裝V6編譯器,不再自動安裝V5編譯器,而V5與V6編譯器在編譯的時候有很多代碼不兼容,導致工程編譯失敗,所以我們使用新版keil5的時候,要用V5編譯器就要自己安裝V5編譯器。 教程中所需的安裝包(keil、破解工具、V5編譯器)百度網(wǎng)盤

    2024年02月11日
    瀏覽(39)
  • ARM編譯器5.06下載安裝

    ARM編譯器5.06下載安裝

    進入官方網(wǎng)站ARM Complier v5.06官網(wǎng)下載頁面 進入后的界面為 往下翻,找到如圖位置的5.06 for windows的文件,點擊下載,下載時需要登錄賬號 先解壓下載的壓縮文件,在installer文件夾里面有一個 setup.exe 文件,雙擊它, 同意協(xié)議,在安裝位置選擇 keil 安裝位置的 ARM 文件夾下,在

    2024年02月22日
    瀏覽(24)
  • arm系列交叉編譯器各版本區(qū)別

    交叉編譯器的命名規(guī)則:arch [-vendor] [-os] [-(gnu)eabi] [-language] arch - 體系架構, 如arm(ARM-32bit)、aarch64(ARM-64bit)、x86等; vendor -工具鏈提供商,經(jīng)常省略,或用 none 替代; os - 目標操作系統(tǒng), 如linux,沒針對具體 os 則 用 none 替代。同時沒有 vendor 和os 使用一個 none 替代。

    2024年02月01日
    瀏覽(26)
  • KEIL MDK5.37版本自行添加AC5(ARMCC)編譯器

    KEIL MDK5.37版本自行添加AC5(ARMCC)編譯器

    從MDK5.37開始,AC5(ARMCC)編譯器不再默認安裝,需要獨立安裝。 下面是總結的安裝步驟: 下載AC5(ARMCC)編譯器: 1.官方頁面(可能下載不成功) Legacy Arm Compilers – Arm Developer https://developer.arm.com/downloads/-/legacy-compilers 2.安富萊論壇(推薦,比較容易下載) 【安富萊】MDK5.29,5.30,

    2024年02月02日
    瀏覽(22)
  • QT配置arm-linux-g++交叉編譯器

    QT配置arm-linux-g++交叉編譯器

    ubuntu16.4版本虛擬機 qt5.12.9版本 ,qt-everywhere-src-5.12.9(版本要一致,沒試過版本不同是否可行) (qt5.15.2 qt5.14.2都裝了下,按照以下流程都是完全沒錯誤) arm-linux-g++4.8.3版本 由于最近接手公司離職員工的代碼,通常我個人都是直接寫Makefile來完成,對方用的Qt配合交叉編譯器

    2024年01月19日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包