本文來(lái)源電子發(fā)燒友社區(qū),作者:愛(ài)的世界abc, 帖子地址:https://bbs.elecfans.com/jishu_2297433_1_1.html
上一步點(diǎn)燈前提https://bbs.elecfans.com/jishu_2296576_1_1.html工作已經(jīng)做好了,這次開(kāi)始點(diǎn)燈了.
點(diǎn)燈程序如下(在官方提供的demo基礎(chǔ)上直接使用): 會(huì)玩stm32的真的可以直接玩這個(gè)了,和stm32差不多.
/*******************************************************************************
*
- 代碼許可和免責(zé)信息
- 武漢力源半導(dǎo)體有限公司授予您使用所有編程代碼示例的非專屬的版權(quán)許可,您可以由此
- 生成根據(jù)您的特定需要而定制的相似功能。根據(jù)不能被排除的任何法定保證,武漢力源半
- 導(dǎo)體有限公司及其程序開(kāi)發(fā)商和供應(yīng)商對(duì)程序或技術(shù)支持(如果有)不提供任何明示或暗
- 含的保證或條件,包括但不限于暗含的有關(guān)適銷性、適用于某種特定用途和非侵權(quán)的保證
- 或條件。
- 無(wú)論何種情形,武漢力源半導(dǎo)體有限公司及其程序開(kāi)發(fā)商或供應(yīng)商均不對(duì)下列各項(xiàng)負(fù)責(zé),
- 即使被告知其發(fā)生的可能性時(shí),也是如此:數(shù)據(jù)的丟失或損壞;直接的、特別的、附帶的
- 或間接的損害,或任何后果性經(jīng)濟(jì)損害;或利潤(rùn)、業(yè)務(wù)、收入、商譽(yù)或預(yù)期可節(jié)省金額的
- 損失。
- 某些司法轄區(qū)不允許對(duì)直接的、附帶的或后果性的損害有任何的排除或限制,因此某些或
- 全部上述排除或限制可能并不適用于您。
*/
/
-
Include files
/
#include "main.h"
/ -
Local pre-processor symbols/macros ('#define')
******************************************************************************/
/******************************************************************************
-
Global variable definitions (declared in header file with 'extern')
******************************************************************************/
/******************************************************************************
-
Local type definitions ('typedef')
/
typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus;
/ -
Local function prototypes ('static')
******************************************************************************/
void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);
/******************************************************************************
-
Local variable definitions ('static') *
******************************************************************************/
//KEY
volatile uint8_t gKey1Status,gKey2Status; /* set to 1 after User Button interrupt */
/******************************************************************************
-
Local pre-processor symbols/macros ('#define')
******************************************************************************/
/*****************************************************************************
-
Function implementation - global ('extern') and local ('static')
******************************************************************************/
/**
** brief Main function of project
**
** return uint32_t return value, if needed
**
** SPI FLASH(W25Q64)
** Success LED1亮
** Error LED2亮
**
** 引腳連接
** SPI SCK -- FLASH CLK
** SPI MOSI -- FLASH DI
** SPI MISO -- FLASH DO
** SPI CS -- FLASH NCS
**
******************************************************************************/
int32_t main(void)
{
//配置RCC
RCC_Configuration();
InitTick( 24000000 ); //24000000
//配置GPIO
GPIO_Configuration();
/* NVIC Configuration */
NVIC_Configuration();
gKey1Status = 0;
gKey2Status = 0;
while(1)
{
LED1_ON;
SysTickDelay(100); //200ms.
LED1_OFF;
SysTickDelay(100); //200ms.
//
LED2_ON;
SysTickDelay(100); //200ms.
LED2_OFF;
SysTickDelay(100); //200ms.
}
}
/**
- [url=home.php?mod=space&uid=2666770]@Brief[/url] 配置RCC
*/
void RCC_Configuration(void)
{
//SYSCLK = HSI = 24MHz = HCLK = PCLK
RCC_HSI_Enable(RCC_HSIOSC_DIV2);
/* 使能所有外設(shè)時(shí)鐘*/
CW_SYSCTRL->AHBEN = 0xFFFFFFFF;
CW_SYSCTRL->APBEN1 = 0xFFFFFFFF;
CW_SYSCTRL->APBEN2 = 0xFFFFFFFF;
}
/**
- [url=home.php?mod=space&uid=2666770]@Brief[/url] 配置GPIO
*/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//LED1
GPIO_InitStructure.Pins = LED1_GPIO_PIN;
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStructure.IT = GPIO_IT_NONE;
GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure);
//LED2
GPIO_InitStructure.Pins = LED2_GPIO_PIN;
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStructure.IT = GPIO_IT_NONE;
GPIO_Init(LED2_GPIO_PORT, &GPIO_InitStructure);
//KEY1
GPIO_InitStructure.Pins = KEY1_GPIO_PIN;
GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
GPIO_InitStructure.IT = GPIO_IT_FALLING;
GPIO_Init(KEY1_GPIO_PORT, &GPIO_InitStructure);
//KEY2
GPIO_InitStructure.Pins = KEY2_GPIO_PIN;
GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
GPIO_InitStructure.IT = GPIO_IT_FALLING;
GPIO_Init(KEY2_GPIO_PORT, &GPIO_InitStructure);
//LED滅
LED1_ON;
LED2_OFF;
}
/**
- @brief Configure the nested vectored interrupt controller.
- [url=home.php?mod=space&uid=3142012]@param[/url] None
-
@retval None
*/
void NVIC_Configuration(void)
{
__disable_irq();
GPIOB_INTFLAG_CLR( 0xFFFF ); //clear GPIOB ALL INT FLAG
NVIC_EnableIRQ(GPIOB_IRQn);
__enable_irq();
}
/******************************************************************************
-
EOF (not truncated)
****************************************************************************/
#ifdef USE_FULL_ASSERT
/ - @brief Reports the name of the source file and the source line number
-
where the assert_param error has occurred.
- [url=home.php?mod=space&uid=3142012]@param[/url] file: pointer to the source file name
- @param line: assert_param error line source number
-
@retval None
*/
void assert_failed(uint8_tfile, uint32_t line)
{
/USER CODE BEGIN 6/
/User can add his own implementation to report the file name and line number,
tex: printf("Wrong parameters value: file %s on line %drn", file, line)/
/USER CODE END 6/
}
#endif /USE_FULL_ASSERT */
然后編譯 0錯(cuò)誤0警告 ok
把板子通過(guò)燒錄工具與電腦連接并進(jìn)行程序燒錄:
我是用的SWD方式,用到的引腳就4個(gè),分別是ST Link V2上的 vcc、gnd、DIO、CLK這4個(gè)引腳。
開(kāi)發(fā)板上的引腳和ST Link上的引腳對(duì)應(yīng)
最后接線圖
然后點(diǎn)MDK上的下載按鈕進(jìn)行程序下載。
下一步看
https://bbs.elecfans.com/jishu_2297427_1_1.html
【武漢芯源CW32F003FXSTARTKI開(kāi)發(fā)板免費(fèi)試用體驗(yàn)】讓芯片運(yùn)行用戶程序(從flash啟動(dòng))
附上開(kāi)發(fā)板體驗(yàn)視頻,詳細(xì)見(jiàn)作者原帖子。
-
開(kāi)發(fā)板試用
+關(guān)注
關(guān)注
3文章
301瀏覽量
2030 -
CW32
+關(guān)注
關(guān)注
1文章
177瀏覽量
552
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論