工作環境說明:
1. 硬件平臺: DX開發板主板 + DX103核心板
2. 軟件平臺: Eclipse IDE for C/C++ Developers + GNU Tools ARM Embedded
(1) IDE: Eclipse IDE for C/C++ Developers
(2) 編譯器: GNU Tools ARM Embedded編譯器,支持STM32F103的標準外設驅動庫3.5版本
//
// This file is part of the GNU ARM Eclipse distribution.
// Copyright (c) 2014 Liviu Ionescu.
//
// ----------------------------------------------------------------------------
#include <stdio.h>
#include "diag/Trace.h"
#include "stm32f10x_conf.h"
// ----------------------------------------------------------------------------
//
// STM32F1 empty sample (trace via ITM).
//
// Trace support is enabled by adding the TRACE macro definition.
// By default the trace messages are forwarded to the ITM output,
// but can be rerouted to any device o.r completely suppressed, by
// changing the definitions required in system/src/diag/trace_impl.c
// (currently OS_USE_TRACE_ITM, OS_USE_TRACE_SEMIHOSTING_DEBUG/_STDOUT).
//
// ----- main() ---------------------------------------------------------------
// Sample pragmas to cope with warnings. Please note the related line at
// the end of this function, used to pop the compiler diagnostics status.
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wmissing-declarations"
#pragma GCC diagnostic ignored "-Wreturn-type"
int main(int argc, char* argv[])
{
// At this stage the system clock should have already been configured
// at high speed.
// Enable GPIO Peripheral clock
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
// Configure pin in output push/pull mode
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
// Configure pin in output push/pull mode
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_14;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
// Configure pin in output push/pull mode
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOD, &GPIO_InitStructure);
// Infinite loop
while (1)
{
// Add your code here.
GPIO_Write(GPIOA, GPIOA->ODR^(0x00001 << 0)); // 單步運行,點亮或關閉LED1
GPIO_Write(GPIOB, GPIOB->ODR^(0x00001 << 0));
GPIO_Write(GPIOB, GPIOB->ODR^(0x00001 << 14));
GPIO_Write(GPIOD, GPIOD->ODR^(0x00001 << 13));
GPIO_Write(GPIOD, GPIOD->ODR^(0x00001 << 12));
}
}
#pragma GCC diagnostic pop
// ----------------------------------------------------------------------------
2015_3_18_8_32_31.jpg (84.6 KB, 下載次數: 154)
下載附件
2015-4-19 01:01 上傳
【圖片】默認閃爍一個LED.jpg
2015_3_18_8_32_45.jpg (85.54 KB, 下載次數: 183)
下載附件
2015-4-19 01:01 上傳
【圖片】修改為空項目.jpg
增加的代碼,默認使用3.5的固件庫和相應的CMIS層,如果需要使用HAL的固件庫,CMIS層需要改動,會比較麻煩。
暫時用3.5的固件庫了,注意新建一個空項目,然后添加代碼。
|