基于STM8的一个项目,其中用到了时钟配置,串口,ADC,看门狗,定时器,外部中断,低功耗管理。STM8常用的外设基本都用到了。还有433无线模块的收发,lis3dh加速度传感器的驱动等。是一个公司产品的项目源码,代码规范自认为还是不错的,有详细的注释。现在这个网站越来越坑了,为了赚点积分,就分享下吧。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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个文件信息
/*************************************************
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个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)