![](http://uphotos.eepw.com.cn/1409887643/thumb/avatar.jpg)
搭建开发平台:安装并破解Keil
运行mdk472的可执行文件,按向导的步骤安装。
根据自己的需要选择安装路径
此处注意邮箱格式要合理
此处默认,NEXT
此处的两个选项可选可不选
安装完毕以后运行Keil,在File一栏查看License Management,将右上角的CID复制一下。
![](http://uphotos.eepw.com.cn/1409887643/pics/1fe3961de95382e742731fadb042f32f.jpg)
![](http://uphotos.eepw.com.cn/1409887643/pics/a49451d12506228cc7b209956d5da9cf.jpg)
运行KEIL_Lic的可执行文件破解Keil,将刚才复制的CID粘贴在相应位置,目标Target选择ARM,点击Generate获得注册码并将其复制。
再回到Keil,打开License Management,将复制的注册码粘贴在最后的LIC一栏,点击Add LIC,若最下面的方框内出现LIC Added Sucessfully表示破解成功。
值得一提的是,Win8上要破解Keil,必须以
管理员身份运行。本人亲自测验。
![](http://uphotos.eepw.com.cn/1409887643/pics/9bf2aa139ae8ca1ac93831b6684d77b7.jpg)
![](http://uphotos.eepw.com.cn/1409887643/thumb/avatar.jpg)
作业四: 学号为偶数的同学让LED闪烁呈Z字形;RGB闪烁6彩,不含白光。
视频地址:http://player.youku.com/player.php/sid/XODA4MDI4NDk2/v.swf
#include "stm32f10x.h" #include "stm32_eval.h" GPIO_InitTypeDef GPIO_InitStructure; /** * @brief Main program. * @param None * @retval None */ void RCC_Configuration(void)//时钟配置 { RCC_DeInit(); RCC_HSICmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET); RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI); RCC_HSEConfig(RCC_HSE_OFF); RCC_LSEConfig(RCC_LSE_OFF); RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9); // 72HMz RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); RCC_ADCCLKConfig(RCC_PCLK2_Div4); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); while(RCC_GetSYSCLKSource() != 0x08); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//disable JTAG GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_ResetBits(GPIOD,GPIO_Pin_2);//关蜂鸣器 } /*GPIO初始化*/ void GPIO_INIT() { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOA, ENABLE);//使能PC,PA的时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;//要使用PC0到PC7 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出 GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化PC GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;//要使用PA1,PA2,PA3 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出 GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化PA } /*延时函数 微秒*/ void delay_us(u32 n) { u8 j; while(n--) for(j=0;j<10;j++); } /*延时函数 毫秒*/ void delay_ms(u32 n) { while(n--) delay_us(1000); } /*点亮LED与RGB的函数*/ void func(void) { GPIO_SetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3);//RGB全部熄灭 while(1) { GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);//LED全部熄灭 delay_ms(100); GPIO_ResetBits(GPIOC,GPIO_Pin_3);//点亮D4 delay_ms(100); GPIO_SetBits(GPIOC,GPIO_Pin_3);//熄灭D4 GPIO_ResetBits(GPIOC,GPIO_Pin_2);//点亮D3 delay_ms(100); GPIO_SetBits(GPIOC,GPIO_Pin_2);//熄灭D3 GPIO_ResetBits(GPIOC,GPIO_Pin_1);//点亮D2 delay_ms(100); GPIO_SetBits(GPIOC,GPIO_Pin_1);//熄灭D2 GPIO_ResetBits(GPIOC,GPIO_Pin_0);//点亮D1 delay_ms(100); GPIO_SetBits(GPIOC,GPIO_Pin_0);//熄灭D1 GPIO_ResetBits(GPIOC,GPIO_Pin_7);//点亮D8 delay_ms(100); GPIO_SetBits(GPIOC,GPIO_Pin_7);//熄灭D8 GPIO_ResetBits(GPIOC,GPIO_Pin_6);//点亮D7 delay_ms(100); GPIO_SetBits(GPIOC,GPIO_Pin_6);//熄灭D7 GPIO_ResetBits(GPIOC,GPIO_Pin_5);//点亮D6 delay_ms(100); GPIO_SetBits(GPIOC,GPIO_Pin_5);//熄灭D6 GPIO_ResetBits(GPIOC,GPIO_Pin_4);//点亮D5 delay_ms(100); GPIO_SetBits(GPIOC,GPIO_Pin_4);//熄灭D5 /*RGB蓝红绿紫靛黄*/ GPIO_ResetBits(GPIOA,GPIO_Pin_1);//蓝 delay_ms(200); GPIO_SetBits(GPIOA,GPIO_Pin_1); GPIO_ResetBits(GPIOA,GPIO_Pin_2);//红 delay_ms(200); GPIO_SetBits(GPIOA,GPIO_Pin_2); GPIO_ResetBits(GPIOA,GPIO_Pin_3);//绿 delay_ms(200); GPIO_SetBits(GPIOA,GPIO_Pin_3); GPIO_ResetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_2);//紫 delay_ms(200); GPIO_SetBits(GPIOA,GPIO_Pin_2); GPIO_ResetBits(GPIOA,GPIO_Pin_3);//靛 delay_ms(200); GPIO_SetBits(GPIOA,GPIO_Pin_1); GPIO_ResetBits(GPIOA,GPIO_Pin_2);//黄 delay_ms(200); GPIO_SetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3);//RGB全部熄灭 } } /** * @brief Main program. * @param None * @retval None */ int main(void) { RCC_Configuration(); GPIO_INIT(); func(); }
代码应该还可以更精简。最近作业多,今天先做到这里,等我想到好方法再发帖~~
对了,还有一件事,童鞋们不要盲目抄袭以上代码哟~
回复
有奖活动 | |
---|---|
5月直播——【探索边缘智能的未来——直播盛宴即将开启!】 | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 |
打赏帖 | |
---|---|
换逻辑分析仪_STM32F103认识串口F103相关的知识认识被打赏18分 | |
“DFRobot盖革计数器模块评测”了解电离辐射对人体的危害被打赏8分 | |
“DFRobot盖革计数器模块评测”了解盖革计数器和电离辐射危害被打赏18分 | |
换逻辑分析仪_STM32F103_HAL库PWM呼吸灯被打赏23分 | |
换逻辑分析仪_STM32F103_(寄存器)PWM呼吸灯被打赏20分 | |
换逻辑分析仪STM32F103HAL库定时器被打赏13分 | |
换逻辑分析仪_STM32F103_(HAL库)驱动GPIO操作,点亮LED被打赏13分 | |
【分享评测,赢取加热台】+拆解一个儿童的python编程主控板被打赏20分 | |
【分享评测,赢取加热台】+拆解一个共享充电宝被打赏20分 | |
【换取手持数字示波器】+自制的STC无线调试器被打赏17分 |