STM8程序,时钟配置,串口,定时器等


基于STM8的一个项目,其中用到了时钟配置,串口,ADC,看门狗,定时器,外部中断,低功耗管理。STM8常用的外设基本都用到了。还有433无线模块的收发,lis3dh加速度传感器的驱动等。是一个公司产品的项目源码,代码规范自认为还是不错的,有详细的注释。现在这个网站越来越坑了,为了赚点积分,就分享下吧。
资源截图
代码片段和文件信息
/*************************************************
            A7139驱动代码
创建日期:    2016/07/20
作者:        lin
版本:        V1.0                
修改说明:    初次编写 -- 2016/07/20
*************************************************/

#include “a7139.h“
#include “alarm.h“
#include “lis3dh.h“
#include “sys_conf.h“
#include “led.h“
#include “wwdg.h“
#include “delay.h“


#define _nop_()    {nop();nop();nop();nop();nop();nop();}
#define RADIO_TEMP 4

uint8_t   tmpbuf[20];

const uint8_t ID_Tab[8] = {0x340x750xC50x8C0xC70x330x450xE7};   //ID code


const uint8_t Alarm_StartTab[] = {/*0xFF0x830xDF0x170x320x09*/0x4E0xD10xE70xCD};
const uint8_t Alarm_StopTab[]  = {/*0x8A0x910xC60xD50xC40xCA*/0xB00x210x180xAE};

const uint16_t A7139Config[]= //433MHz 10kbps (IFBW = 100KHz Fdev = 37.5KHz) Crystal=12.8MHz
{
0x0021 //SYSTEM CLOCK register
0x0A21 //PLL1 register
0xDA05 //PLL2 register 433.301MHz
0x0000 //PLL3 register
0x0A20 //PLL4 register
0x0024 //PLL5 register
0x0000 //PLL6 register
0x0011 //CRYSTAL register
0x0000 //PAGEA
0x0000 //PAGEB
0x18D4 //RX1 register  IFBW=100KHz
0x7009 //RX2 register  by preamble
0x4000 //ADC register    
0x0800 //PIN CONTROL register Use Strobe CMD
0x4C45 //CALIBRATION register
0x20C0 //MODE CONTROL register  Use FIFO mode
};

const uint16_t A7139Config_PageA[]=   //433MHz 10kbps (IFBW = 100KHz Fdev = 37.5KHz) Crystal=12.8MHz
{
0xF706 //TX1 register  Fdev = 37.5kHz
0x0000 //WOR1 register
0xF800 //WOR2 register
0x1107 //RFI register  Enable Tx Ramp up/down  
0x0170 //PM register
0x0201 //RTH register
0x400F //AGC1 register
0x2AC0 //AGC2 register 
0x0045 //GIO register  GIO2=WTR GIO1=FSYNC
0xD181 //CKO register
0x0004 //VCB register
0x0A21 //CHG1 register  430MHz
0x0022 //CHG2 register  435MHz
0x003F //FIFO register  FEP=63+1=64bytes
0x1507 //CODE register  Preamble=4bytes ID=4bytes
0x0000 //WCAL register
};

const uint16_t A7139Config_PageB[]=   //433MHz 10kbps (IFBW = 100KHz Fdev = 37.5KHz) Crystal=12.8MHz
{
0x0337 //TX2 register
0x8400 //IF1 register  Enable Auto-IF IF=200KHz
0x0000 //IF2 register
0x0000 //ACK register
0x0000 //ART register
};

/*
 * 函数名:StrobeCMD
 * 功  能:向A7139发送Strobe命令
 * 参  数:cmd 发送的命令
 * 返回值:无
 */
void StrobeCMD(uint8_t cmd)
{
    uint8_t i;

    SCS_CLR;              //SCS=0; 选中器件
    for(i=0; i<8; i++)    //按位发送数据
    {
        if(cmd & 0x80)    
            SDIO_SET;     //SDIO = 1;
        else
            SDIO_CLR;     //SDIO = 0;

        _nop_();
        SCK_SET;          //SCK=1;   数据在下降沿发送
        _nop_();
        SCK_CLR;          //SCK=0;
        cmd<<=1;
    }
    SCS_SET;              //SCS=1; 关闭片选
}

/*
 * 函数名:ByteSend
 * 功  能:SPI写时序
 * 参  数:src 发送的数据
 * 返回值:无
 */
void ByteSend(uint8_t src)
{
    uint8_t i;

    f

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      15551  2016-07-22 17:25  lesson1Appa7139.c

     文件       4976  2016-07-21 11:49  lesson1Appa7139.h

     文件       2313  2016-07-21 14:01  lesson1Appadc.c

     文件        431  2016-07-20 18:45  lesson1Appadc.h

     文件       3155  2016-07-21 11:57  lesson1Appalarm.c

     文件        913  2016-07-20 18:44  lesson1Appalarm.h

     文件        624  2016-07-22 09:15  lesson1Appattery.c

     文件        362  2016-07-22 09:15  lesson1Appattery.h

     文件       1435  2016-07-22 17:03  lesson1Appclock.c

     文件        316  2016-07-20 17:49  lesson1Appclock.h

     文件        736  2016-07-22 08:57  lesson1Appdelay.c

     文件        340  2016-07-21 19:20  lesson1Appdelay.h

     文件       3061  2016-07-18 11:15  lesson1Appiic.c

     文件       2085  2016-07-18 17:28  lesson1Appiic.h

     文件        636  2016-07-15 14:21  lesson1Appkey.c

     文件        493  2016-07-15 14:21  lesson1Appkey.h

     文件       4673  2016-07-21 11:59  lesson1Appled.c

     文件       1786  2016-07-20 18:48  lesson1Appled.h

     文件       6732  2016-07-21 15:33  lesson1Applis3dh.c

     文件       1673  2016-07-20 17:55  lesson1Applis3dh.h

     文件       3071  2016-07-22 17:27  lesson1Appmanage.c

     文件         95  2016-07-19 09:13  lesson1Appmanage.h

     文件       2009  2016-07-21 14:08  lesson1Apppower.c

     文件       1286  2016-07-21 10:05  lesson1Apppower.h

     文件          0  2016-07-15 16:20  lesson1Appsys.c

     文件         70  2016-07-15 16:24  lesson1Appsys.h

     文件       2501  2016-07-22 17:22  lesson1Appsystemconf.c

     文件        738  2016-07-22 09:15  lesson1Appsystemconf.h

     文件       1149  2016-07-20 09:04  lesson1Appsys_conf.h

     文件       1419  2016-07-18 10:41  lesson1App imer.c

............此处省略237个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)