今天来看了一下IOde操作,相对来说还是比较简单的,这里就直接来上代码,看看我们的环境搭建是否成功,按照前面给到的资料,我们重新建立了工程,整体的工程框架如下图,在新建工程的时候发现一个问题,就是DMA的那个C文件没法使用,很多东西没有添加,导致了我们建立工程的时候报错,所以这里直接去掉DMA的相关文件。
我们首先使用DAP链接硬件,保证硬件连接是没有问题的,
整体的下载链接效果如图
然后就是代码了,这里设置的是按键按下灯就点亮,代码相对简单,主要是为了检验环境搭建是否成功
- #include "cw32f003.h"
- #include "cw32f003_gpio.h"
- #include "cw32f003_rcc.h"
- #include "cw32f003_systick.h"
- #include "interrupts_cw32f003.h"
- #include "system_cw32f003.h"
- void RCC_Configuration(void)
- {
-
- //SYSCLK = HSI = 24MHz = HCLK = PCLK
- RCC_HSI_Enable(RCC_HSIOSC_DIV2);
- /* 使能所有外设时钟*/
- CW_SYSCTRL->AHBEN = 0xFFFFFFFF;
- CW_SYSCTRL->APBEN1 = 0xFFFFFFFF;
- CW_SYSCTRL->APBEN2 = 0xFFFFFFFF;
-
- }
- void GPIO_Configuration(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
-
- //LED1
- GPIO_InitStructure.Pins = GPIO_PIN_6;
- GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStructure.IT = GPIO_IT_NONE;
- GPIO_Init(CW_GPIOA, &GPIO_InitStructure);
-
- //LED2
- GPIO_InitStructure.Pins = GPIO_PIN_7;
- GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStructure.IT = GPIO_IT_NONE;
- GPIO_Init(CW_GPIOA, &GPIO_InitStructure);
-
- //KEY1
- GPIO_InitStructure.Pins = GPIO_PIN_5;
- GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
- GPIO_InitStructure.IT = GPIO_IT_NONE;
- GPIO_Init(CW_GPIOB, &GPIO_InitStructure);
- //KEY2
- GPIO_InitStructure.Pins = GPIO_PIN_6;
- GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
- GPIO_InitStructure.IT = GPIO_IT_NONE;
- GPIO_Init(CW_GPIOB, &GPIO_InitStructure);
- }
- void IO_Test(void)
- {
- if(GPIO_ReadPin(CW_GPIOB,GPIO_PIN_5)==GPIO_Pin_RESET)
- {
- GPIO_WritePin(CW_GPIOA,GPIO_PIN_6,GPIO_Pin_SET);
- }
- else
- {
- GPIO_WritePin(CW_GPIOA,GPIO_PIN_6,GPIO_Pin_RESET);
- }
- if(GPIO_ReadPin(CW_GPIOB,GPIO_PIN_6)==GPIO_Pin_RESET)
- {
- GPIO_WritePin(CW_GPIOA,GPIO_PIN_7,GPIO_Pin_SET);
- }
- else
- {
- GPIO_WritePin(CW_GPIOA,GPIO_PIN_7,GPIO_Pin_RESET);
- }
- }
- int32_t main(void)
- {
- //配置RCC
- RCC_Configuration();
- InitTick( 24000000 ); //24000000
- //配置GPIO
- GPIO_Configuration();
- while(1)
- {
- IO_Test();
- SysTickDelay(200); //200ms.
- }
-
- }
|