资源简介
基于stm32正点原子MINI开发板的心跳信号监测,SIM900短信发送心率.并且在液晶实时显示心率。
![](http://www.nz998.com/pic/52537.jpg)
代码片段和文件信息
#include “string.h“
#include “exfuns.h“
#include “fattester.h“
#include “malloc.h“
#include “usart.h“
//////////////////////////////////////////////////////////////////////////////////
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//ALIENTEK STM32开发板
//FATFS 扩展代码
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//修改日期:2012/9/18
//版本:V1.0
//版权所有,盗版必究。
//Copyright(C) 广州市星翼电子科技有限公司 2009-2019
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
//文件类型列表
const u8 *FILE_TYPE_TBL[6][13]=
{
{“BIN“} //BIN文件
{“LRC“} //LRC文件
{“NES“} //NES文件
{“TXT““C““H“} //文本文件
{“MP1““MP2““MP3““MP4““M4A““3GP““3G2““OGG““ACC““WMA““WAV““MID““FLAC“}//音乐文件
{“BMP““JPG““JPEG““GIF“}//图片文件
};
///////////////////////////////公共文件区使用malloc的时候////////////////////////////////////////////
FATFS *fs[2]; //逻辑磁盘工作区.
FIL *file; //文件1
UINT brbw; //读写变量
FILINFO fileinfo; //文件信息
DIR dir; //目录
u8 *fatbuf; //SD卡数据缓存区
///////////////////////////////////////////////////////////////////////////////////////
//为exfuns申请内存
//返回值:0成功
//1失败
u8 exfuns_init(void)
{
fs[0]=(FATFS*)mymalloc(SRAMINsizeof(FATFS)); //为磁盘0工作区申请内存
//fs[1]=(FATFS*)mymalloc(SRAMINsizeof(FATFS)); //为磁盘1工作区申请内存
//file=(FIL*)mymalloc(SRAMINsizeof(FIL)); //为file申请内存 fattester.c使用的时候必须取消注释!!
//fatbuf=(u8*)mymalloc(SRAMIN512); //为fatbuf申请内存 fattester.c使用的时候必须取消注释!!
if(fs[0])return 0; //申请有一个失败即失败.
else return 1;
}
//将小写字母转为大写字母如果是数字则保持不变.
u8 char_upper(u8 c)
{
if(c<‘A‘)return c;//数字保持不变.
if(c>=‘a‘)return c-0x20;//变为大写.
else return c;//大写保持不变
}
//报告文件的类型
//fname:文件名
//返回值:0XFF表示无法识别的文件类型编号.
// 其他高四位表示所属大类低四位表示所属小类.
u8 f_typetell(u8 *fname)
{
u8 tbuf[5];
u8 *attr=‘\0‘;//后缀名
u8 i=0j;
while(i<250)
{
i++;
if(*fname==‘\0‘)break;//偏移到了最后了.
fname++;
}
if(i==250)return 0XFF;//错误的字符串.
for(i=0;i<5;i++)//得到后缀名
{
fname--;
if(*fname==‘.‘)
{
fname++;
attr=fname;
break;
}
}
strcpy((char *)tbuf(const char*)attr);//copy
for(i=0;i<4;i++)tbuf[i]=char_upper(tbuf[i]);//全部变为大写
for(i=0;i<6;i++)
{
for(j=0;j<13;j++)
{
if(*FILE_TYPE_TBL[i][j]==0)break;//此组已经没有可对比的成员了.
if(strcmp((const char *)FILE_TYPE_TBL[i][j](const char *)tbuf)==0)//找到了
{
return (i<<4)|j;
}
}
}
return 0XFF;//没找到
}
//得到磁盘剩余容量
//drv:磁盘编号(“0:“/“1:“)
//total:总容量 (单位KB)
//free:剩余容量 (单位KB)
//返回值:0正常.其他错误代码
u8 exf_getfree(u8 *drvu32 *totalu32 *free)
{
FATFS *fs1;
u8 res;
u32 fre_clust=0 fre_sect=0 tot_sect=0;
//得到磁盘信息及空闲簇数量
res = f_getfree((const TCHAR*)drv &fre_clust &fs1);
if(res==0)
{
tot_sect=(fs1->n_fatent-2)*fs1->csize; //得到总扇区数
fre_sect=fre_clust*fs1->csize; //得到空闲扇区数
#if _MAX_SS!=512 //扇区大小不是512字节则转换为512字节
tot_sect*=fs1->ssize/512;
fre_sect*=fs1->ssize/512;
#endif
*total=tot_sect>>1;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2815 2012-07-25 00:19 程序20190416A\FATFS\doc\css_e.css
文件 3177 2012-07-25 00:19 程序20190416A\FATFS\doc\css_j.css
文件 1414 2011-09-02 22:10 程序20190416A\FATFS\doc\img\f1.png
文件 1458 2007-02-10 03:12 程序20190416A\FATFS\doc\img\f2.png
文件 1039 2007-02-10 03:12 程序20190416A\FATFS\doc\img\f3.png
文件 2335 2008-01-05 20:27 程序20190416A\FATFS\doc\img\f4.png
文件 2479 2008-01-05 20:27 程序20190416A\FATFS\doc\img\f5.png
文件 1436 2010-08-21 10:13 程序20190416A\FATFS\doc\img\f6.png
文件 2401 2009-03-20 21:57 程序20190416A\FATFS\doc\img\la
文件 2379 2009-06-13 21:48 程序20190416A\FATFS\doc\img\la
文件 5209 2012-07-27 01:26 程序20190416A\FATFS\doc\img\modules.png
文件 19068 2008-10-18 19:31 程序20190416A\FATFS\doc\img\rwtest.png
文件 8153 2010-09-13 10:55 程序20190416A\FATFS\doc\img\rwtest2.png
文件 3011 2009-06-15 00:03 程序20190416A\FATFS\doc\img\rwtest3.png
文件 4185 2012-08-27 21:56 程序20190416A\FATFS\doc\updates.txt
文件 3531 2013-03-30 10:30 程序20190416A\FATFS\exfuns\exfuns.c
文件 1414 2013-03-30 10:28 程序20190416A\FATFS\exfuns\exfuns.h
文件 6786 2013-03-20 13:45 程序20190416A\FATFS\exfuns\fattester.c
文件 1134 2012-09-18 17:45 程序20190416A\FATFS\exfuns\fattester.h
文件 5011 2013-03-30 10:28 程序20190416A\FATFS\exfuns\mycc936.c
文件 6821 2012-09-04 22:50 程序20190416A\FATFS\src\00readme.txt
文件 4976 2013-03-20 13:45 程序20190416A\FATFS\src\diskio.c
文件 2763 2012-08-27 21:39 程序20190416A\FATFS\src\diskio.h
文件 143152 2012-09-19 12:58 程序20190416A\FATFS\src\ff.c
文件 12506 2012-09-19 12:58 程序20190416A\FATFS\src\ff.h
文件 7632 2012-09-18 16:43 程序20190416A\FATFS\src\ffconf.h
文件 856 2010-04-24 23:45 程序20190416A\FATFS\src\integer.h
文件 249488 2010-05-09 23:52 程序20190416A\FATFS\src\option\cc932.c
文件 724232 2010-04-29 17:38 程序20190416A\FATFS\src\option\cc936.c
文件 567684 2010-05-08 23:28 程序20190416A\FATFS\src\option\cc949.c
............此处省略226个文件信息
- 上一篇:基于STM32的光照灯设计
- 下一篇:kuka伺服枪配置
相关资源
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
- STM32的PCB封装库,以及原理图库,48
- SX1280.rar
- STM32 DS3231驱动.zip
- STM32F103C8T6+NRF24l01无线通信
评论
共有 条评论