梁的笔记 https://bbs.21ic.com/?793936 [收藏] [复制] [RSS] 相信奇迹

日志

STM8S105C4T6 蜂鸣器学习笔记-Liang

已有 910 次阅读2014-1-4 00:25 |个人分类:STM8S学习笔记|系统分类:单片机| STM8S蜂鸣器, BEEP

    今天做一个万年历的蜂鸣器,使用STM8s105C4T6,使用单片机自带的蜂鸣器模块,从昨天就没弄出来,用IO口加delay可以驱动蜂鸣器,但是使用单片机内部BEEP模块从PD4上始终得不到脉冲信号,在网上找了很多资料,21IC貌似也很多人遇到相同问题。。刚才刚刚把它弄响,分享一下自己的方法。。

BEEP部分代码,

void BeepInit( void )
{
   PD_DDR |= BIT4;//设置为输出
   PD_CR1 |= BIT4;//设置为推挽输出
   PD_CR2 |= BIT4;//速率为10M
   BEEP_CSR = 0x3E;
}

代码很简单,设置PD4为输出,然后设置BEEP寄存器,

[imgid=0]

上边为设置对应的寄存器说明。

然后就是很关键的;;;我是在IAR环境中,使用STLink进入仿真,进入仿真后不能点运行哦,,然后点击菜单栏ST-Linlk ->Option BYTES

进入如下设置框

然后选择AFR7 在这一行点右键,Alternate Active选这个,然后点OK,就行了。。

然后复位一下,就可以了。。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)