STM32F103 工程構建
1.基本情況
RAM 20K
ROM 64K
2.硬件連接
硬件連接
現在采用串口1作為調試串口
3.rtthread配置
第一步:
下載rtthread的源代碼
git clone https://github.com/RT-Thread/rt-thread.git
或者
git clone https://gitee.com/rtthread/rt-thread
第二步:
配置工程,選擇型號
輸入menuconfig
接着生成相應的工程
scons --target=mdk5 -s
接上串口,可以看到打印信息,即項目完成移植
4.點燈
由於已經實現了通用的GPIO驅動程序,所以只需按照說明操作即可
輸入list_device
現在我們在main函數中創建一個點燈線程
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2015-07-29 Arda.Fu first implementation
*/
#include <rthw.h>
#include <rtdevice.h>
#include <board.h>
#include <rtthread.h>
#define LED0 2 //在 drv_gpio.c 文件 pin_index pins[] 中查到 PC13 編號為 2
void led_thread_entry(void* parameter)
{
// 設置管腳為輸出模式
rt_pin_mode(LED0, PIN_MODE_OUTPUT);
while (1)
{
// 輸出低電平,LED0 亮
rt_pin_write(LED0, PIN_LOW);
rt_kprintf("on\n");
// 掛起 500ms
rt_thread_delay(rt_tick_from_millisecond(500));
// 輸出高電平,LED0 滅
rt_pin_write(LED0, PIN_HIGH);
rt_kprintf("off\n");
// 掛起 500ms
rt_thread_delay(rt_tick_from_millisecond(500));
}
}
int main(void)
{
/* user app entry */
rt_thread_t led_task_tid;
led_task_tid = rt_thread_create("led", led_thread_entry, RT_NULL, 1024, 3, 10);
if(led_task_tid != RT_NULL)
{
rt_thread_startup(led_task_tid);
}
return 0;
}
運行后結果如下,表示操作成功
5. 碼雲上git操作
cd existing_git_repo
git remote add origin git@gitee.com:bigmagic/stm32f103c8t6_demo.git
git push -u origin master