实在不好意思,这两周实习没时间调板子,另外一篇肯定也会这两天补上的。也看了编程规范,确实学到了新的东西,以前写程序相对来说还是比较随意的。
这两天主要是看了看RGB流水灯printf打印串口以及触摸按键的使用,不在细数。
恰好生日刚过去,就打算用蜂鸣器写个生日快乐,代码放到下面了,感觉还是略难调,希望大家能给予指点。
看到无源蜂鸣器是接到了PA8 用的是TIM1_CH1
初始化为复用推挽输出 SP6203提供的3.3V供电
蜂鸣器发声的两个关键函数是
void music(unsigned int a){ unsigned int b; b = a/2; TIM_SetAutoreload(TIM1,a); TIM_SetCompare1(TIM1,b); GPIO_ResetBits(GPIOA, GPIO_Pin_3); Delay(250); // TIM_SetAutoreload(TIM1,0); TIM_SetCompare1(TIM1,0); GPIO_SetBits(GPIOA, GPIO_Pin_3); Delay(20); Touch_Key_Proc(); } void fast_music(unsigned int a) { unsigned int b; b = a/2; TIM_SetAutoreload(TIM1,a); TIM_SetCompare1(TIM1,b); GPIO_ResetBits(GPIOA, GPIO_Pin_3); Delay(100); // TIM_SetAutoreload(TIM1,0); TIM_SetCompare1(TIM1,0); GPIO_SetBits(GPIOA, GPIO_Pin_3); Delay(30); }
复制代码找到生日快乐的歌谱
注意延时的时间加上即可
调试感觉不方便 建议大家可以上淘宝搜一下相关模块
全部回复 2