tag 标签: 源码

相关帖子
相关博文
  • 热度 2
    2020-12-17 09:11
    1095 次阅读|
    0 个评论
    【不用开发板学习STM32】7段数码管0~9定时显示(文末获取代码及工程文件)
    本实验是通过7个IO口控制一个共阳7段数码管,分别从0~9依次显示。时间间隔200ms刷新一次。系统时钟源是内部8MHz晶振,具体原因上一期已经讲述过了,时钟倍频位40MHz,使用了TIM2定时器,数码管刷新在TIM2中断函数中完成。同时利用systick来计时,控制一个LED灯间歇闪烁。工程师如果对STM32F10x系列怎么使用内部时钟有疑问可以参考这里的代码,都是在实际开发板上测试过,和用Proteus仿真结果是一致的。 TIM2初始化,这里设置是200ms进一次中断,系统时钟是40MHz,并且配置好TIM2的中断,代码如下: void bsp_InitTIM2(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; uint32_t usPeriod; /* 开启TIM2的时钟 */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); usPeriod = 2000; //重装载数值 200ms /* Time base configuration */ TIM_TimeBaseStructure.TIM_Period = usPeriod; TIM_TimeBaseStructure.TIM_Prescaler = 3999; //设置分频系数 TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //开启TIM2中断 TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE ); /* TIMx enable */ TIM_Cmd(TIM2, ENABLE); { /* 配置定时器中断 */ NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 4; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } } 代码及工程下载链接!! https://t.1yb.co/axri
  • 热度 153
    2011-12-31 21:39
    45726 次阅读|
    151 个评论
    KK是一个很有趣的开源飞控(http://www.kkmulticopter.com/),由于其硬件要求低,价格大众化,所以虽然性能有限,还是有着广泛的使用群体。我也有一个KK飞控板,并且我下 载了KK的源码进行研究,比较麻烦的是,KK的源码是用汇编写的,很多人是看不懂的。 我觉得这是一个很好的硬件平台(便宜),适合懂单片机的用户进行电子试验和算法试验,因此我花了几个晚上的时间,用C语言完整从零编写了KK飞控的源代码,并且增强了一些很有价值的功能,使得KK的使用更加方便。 现在,我把全部的源码开放在这里,不懂单片机的模友可以直接下 载使用,懂单片机的模友可以尝试改写代码,加入自己喜欢的功能~ KK_C V1.0源码下载:attachment download KK_C V1.0 使用说明书:attachment download 这个新的KK,朋友建议我命名为GG飞控,我觉得这个基于KK的小玩意,还是不能忘记KK的贡献,于是命名为KK_C飞控,至于GG飞控嘛,已经在设计中~ (编译器:ICCAVR V7.22)
相关资源
广告