首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

STM8S105C4T6 蜂鸣器学习笔记

STM8S105C4T6 蜂鸣器学习笔记

今天做一个万年历的蜂鸣器,使用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,就行了。。
然后复位一下,就可以了。。
返回列表