導航:首頁 > 操作系統 > 程序如何寫入STM32單片機

程序如何寫入STM32單片機

發布時間:2022-05-22 21:20:50

㈠ 利用stm32的單片機完成下面的要求,程序該怎麼寫,用C語言

用兩個定時器分別對兩個LED燈閃爍,KEY1和KEY2要設置為外部中斷輸入,當進入中斷時KEY1_DANG或KEY2_DANG指向下一個檔位,並且發送串口。給你提供點思路。
void main()
{
while(1)
{
if(key1_dang==0x01)
中斷定時1設置為0.2秒
if(key1_dang==0x02)
中斷定時1設置為0.4秒
if(key1_dang==0x03)
中斷定時1設置為0.6秒
if(key1_dang==0x04)
中斷定時1設置為0.8秒
if(key1_dang==0x05)
中斷定時1設置為1.0秒

if(key2_dang==0x01)
中斷定時2設置為0.2秒
if(key2_dang==0x02)
中斷定時2設置為0.4秒
if(key2_dang==0x03)
中斷定時2設置為0.6秒
if(key2_dang==0x04)
中斷定時2設置為0.8秒
if(key2_dang==0x05)
中斷定時2設置為1.0秒
}

}

㈡ 用USB轉TTL線怎麼把程序燒寫到stm32f103C8T6中

用USB轉TTL線把程序燒寫到stm32f103C8T6中:

1、TXD-接 PA10/USART1_RX

2、RXD-接 PA9/USART1_TX

3、3V3 GND 接供電,將BOOT0接3V3後再供電,即可進入下載模式。

寫入程序成功後,將BOO0與BOOT1均置為0。

(2)程序如何寫入STM32單片機擴展閱讀:

程序燒寫的分類以及注意事項:

MCU類可燒錄IC

MCU類可燒錄IC,目前市場上有很多單晶元控制器(SINGLE MCU)可以通過配套的燒錄器進行一次或多次資料燒寫。通常僅能燒錄一次的MCU被叫做OTPMCU(英文即:ONE TIME PROGRAMBLE MCU),與之相對的是MTP MCU(英文是MULTI TIME PROGRAMBLE MCU)就是可多次燒錄的MCU。

OTP MCU通常由生產者在產品裝配前通過配套的燒錄器一次性把資料燒入,該類IC一經燒錄,燒入的資料將無法再次改變

MTP MCU,有別於OTP MCU,本類IC 通過配套的燒錄器可以多次燒錄,擦寫,有的內建FLASHMCU甚至可以燒錄不小於10萬次。

存儲類可燒錄IC

存儲類可燒錄IC:門類眾多,如EPROM、EEPROM、NOR FLASH、SPROM、NAND FLASH等等。

EPROM、NOR FLASH、EEPROM、SPROM主要用於存放我們的數據資料或程式,我們已經司空見慣了,跟生產NAND FLASH的廠家比起來可以說生產廠家幾乎遍地都是,市面上有相當多的萬用燒寫器可以把資料燒寫進這些IC。

NAND FLASH只有三星等幾個生產廠家生產,目前廣泛用於U盤、MP3、MP4、ELA和電子詞典上。

㈢ 如何生成stm32單片機程序

1,下面以流水燈為例說明STM32CubeMX軟體的使用。
2, 第一步,建立並保存工程。
3,啟動STM32CubeMX軟體,界面如圖2所示。
4,點擊New Project,在New Project對話框中選擇Board Selector標簽頁,在這里有各種ST評估板可以選擇,我們選擇STM32F429I-DISCO,最後點擊OK,如圖3所示。這樣就建立起了STM32F429I-DISCO評估板的工程,這個工程已經根據評估板設置好了,然後可以生成相應的代碼。
5,為了演示如何使用STM32CubeMX軟體,關閉剛剛建立的工程,從頭建立一個新的工程。點擊New Project,在New Project對話框中選擇Mcu Selector標簽頁,然後在MCU Filter中依次選擇STM32F4,STM32F429/439,在下面列表中選擇STM32F429ZITx,最後點擊OK,如圖4所示。
6,新建立的工程界面如圖5所示。

㈣ 如何把程序寫入單片機

現在的單片機一般:

  1. 通過USB(需要裝上配套驅動)模擬串口,將用KIEL編譯後程序寫到單片機;

  2. 也可直接用串口與PC相連,將用KIEL編譯後程序寫到單片機;

  3. 更多交流參考我空間文章發。

㈤ STC單片機的c代碼可以移植到stm32上嗎,要不要做什麼修改

換晶元,改電路,底層肯定要重寫的。
寫程序有個好習慣還是很重要的。下面說一下移植方面的習慣,
提高移植性,最重要的手段就是隱藏硬體實現的細節,把邏輯與底層分開。
舉個例子,LED閃一下亮一下,P1_0 = 0; 在51上就是一句話的事。就這一句,就有三個地方涉及硬體,(1)硬體上是P1.0接LED,(2)硬體上低電平亮,相應的是高電平滅,(3)硬體是用的51,用了51獨有的位操作。
換個電路,或者換個晶元,這些都要重新改寫。假設程序裡面有十個地方需要亮燈,移植時就要改十個地方。把亮燈這件事定義成一個函數,或者叫方法,或者叫操作,把具體的操作細節隱藏起來,只表示出做了一件什麼事情--亮燈。像這樣,void LED_ON( void );在主程序裡面,或者說在應用層的程序中調用LED_ON();就是亮燈,具體怎麼亮燈,應用程序不管,也不能管,而是由單獨的底層程序來做,也就是LED_ON這個函數的內容,是放在單獨的一個文件中。用51,就寫一個51下的底層,要移植,要用CM3就寫一個CM3的底層,主程序可以不用改動,至少是盡量少改動。
為了提高移植性,盡量用標準的C寫代碼,涉及不同編譯系統的實現細節,也要注意隱藏細節,前面的硬體細節,這個算是軟體的細節吧。
比如sfr, sbit,interrupt這些,都是51獨有的,換到不同的系統上,都需要重寫。處理辦法也是一樣的,隱藏起來,放到單獨的底層文件中。
基本上,做到這兩步,程序的移植性會提高很多。
再舉個小例子吧:

// app.c
#include "bsp.h" // 注意這里不要包含硬體有關的頭文件,比如"reg51.h",不要包含在這里。
void main( void )
{
while(1)
{
if ( hasKey())
{
led_on();
delay(100);
led_off();
}
}

// bsp.h
typedef unsigned short uint16_t;
typedef bit bool;
void led_on( void );
void led_off( void );
void delay( uint16_t ms );
bool hasKey( void );
// bsp_for_51.c
#include "bsp.h"
#include "reg51.h"
sbit led = P1^0;
#define ON (0)
void led_on( void )
{
led = ON;
}

void led_off( void )
{
led = !ON;
}

void delay( uint16_t ms )
{
int i;
while( ms-- )
for( i=0; i<100; i++);
}
bool hasKey( void )
{
return ( P0 != 0xFF); // 測試是否有按鍵?
}

這個是51的系統,換成STM32,簡單重寫一下bsp.c,不需要改app.c,系統就可以移植過來。

㈥ 對於stm32單片機編寫程序的方法有哪兩種

寄存器開發方式
固件庫開發方式
HAL庫開發方式

㈦ keil怎麼把程序燒錄進stm32

keil 只是寫程序的軟體,寫好程序保存為.c文件,然後添加該文件到源組,然後配置內存,然後編譯,就變成.hex文件,然後用燒錄軟體把.hex文件下載進單片機。

㈧ visualGDB寫好程序後,如何下載到單片機中(stm32),(avr)

在工程名稱右鍵選擇visualgdb,選項里的DEBUG可以選擇安裝J-LINK作為調試工具,用它可以單步調試、下載。

閱讀全文

與程序如何寫入STM32單片機相關的資料

熱點內容
如何登錄伺服器看源碼 瀏覽:522
如何做伺服器端 瀏覽:154
注冊伺服器地址指什麼 瀏覽:433
文本命令行 瀏覽:97
撲克牌睡眠解壓 瀏覽:192
rc4演算法流程圖 瀏覽:159
胡蘿卜解壓方法 瀏覽:35
掃描pdf格式軟體 瀏覽:876
程序員在銀行開賬戶 瀏覽:516
android資料庫下載 瀏覽:749
中午伺服器崩潰怎麼辦 瀏覽:425
產品經理和程序員待遇 瀏覽:442
解憂程序員免費閱讀 瀏覽:109
錄像免壓縮 瀏覽:508
總結所學過的簡便演算法 瀏覽:362
南昌哪些地方需要程序員 瀏覽:761
三台伺服器配置IP地址 瀏覽:175
如何用命令方塊連續對話 瀏覽:280
win7linux共享文件夾 瀏覽:304
命令符打開本地服務 瀏覽:601