资源简介
用cm3控制ds3234芯片的读写通过spi的通讯方式
代码片段和文件信息
#include “sys.h“
#include “usart.h“
#include “delay.h“
//#include “led.h“
//#include “key.h“
//#include “exti.h“
//#include “wdg.h“
//#include “timer.h“
#include “lcd.h“
//#include “rtc.h“
#define SPI_DS_CS PAout(4) //选中FLASH
#define SCLK PAout(5)
#define MISO PAout(6)
#define MOSI PAout(7)
void SPIx_Init(void);
void SPI_DS_Init(void);
u8 SPIx_ReadWriteByte(u8 TxData);
//void DS3234_rdram(unsigned char* punsigned char addrunsigned char len);
void DS3234_rdrtc(unsigned char* p);
//void DS3234_wrram(unsigned char* punsigned char addrunsigned char len);
void DS3234_strtc(unsigned char* p);
void settoBCD(unsigned char *pSrcunsigned char *pDst);
void DS3234_rdrtcToString(unsigned char *pSrcunsigned char *pDst);
void Time_StringToBCD(unsigned char *pSrc unsigned char *pDst);
int main()
{
// unsigned char set[20] ={‘4‘‘/‘‘4‘‘/‘‘9‘‘ ‘‘9‘‘:‘‘41‘‘:‘‘3‘};
u8 set[20] ={14490153};
unsigned char read[20]a[20]setBCD[20];
// u8 k=0;
Stm32_Clock_Init(9);//系统时钟设置
delay_init(72); //延时初始化
uart_init(729600); //串口1初始化
LCD_Init();
//POINT_COLOR=RED;
SPI_DS_Init();
LCD_ShowString(6050“Mini STM32“);
LCD_ShowString(6070“SPI TEST“);
LCD_ShowString(6090“ATOM@ALIENTEK“);
LCD_ShowString(60110“2010/6/11“);
settoBCD(setsetBCD); //将设定的时间变成BCD格式 //“13/06/09 10:23:22“ --> 0x130x060x090x100x230x22
// DS3234_rdrtcToString(seta);
// Time_StringToBCD(aset);
DS3234_strtc(setBCD); // DS3234_wrram(a0x0015);// DS3234_rdram(a0x0015);
while(1)
{
DS3234_rdrtc(read);
DS3234_rdrtcToString(reada);
LCD_ShowString(60130a);
}
}
void DS3234_rdrtcToString(unsigned char *pSrcunsigned char *pDst) //读出时间转换为字符 例13/06/09 09:52:44
{
// uchar uctimeBCD[6];
//DS3234_rdrtc(ucTimeBCD);//读时间
*pDst++ = ((pSrc[0]&0xf0)>>4)+48;
*pDst++ = (pSrc[0]&0x0f)+48;
*pDst++ = ‘/‘;
*pDst++ = ((pSrc[1]&0xf0)>>4)+48;
*pDst++ = (pSrc[1]&0x0f)+48;
*pDst++ = ‘/‘;
*pDst++ = ((pSrc[2]&0xf0)>>4)+48;
*pDst++ = (pSrc[2]&0x0f)+48;
*pDst++ = ‘ ‘;
*pDst++ = ((pSrc[3]&0xf0)>>4)+48;
*pDst++ = (pSrc[3]&0x0f)+48;
*pDst++ = ‘:‘;
*pDst++ = ((pSrc[4]&0xf0)>>4)+48;
*pDst++ = (pSrc[4]&0x0f)+48;
*pDst++ = ‘:‘;
*pDst++ = ((pSrc[5]&0xf0)>>4)+48;
*pDst++ = (pSrc[5]&0x0f)+48;
*pDst = 0; //0
}
void Time_StringToBCD(unsigned char *pSrcunsigned char *pDst) //“13/06/09 10:23:22“ --> 0x130x060x090x100x230x22
{
*pDst = (((*pSrc)-48)<<4) + ((*(pSrc+1))-48);
*(pDst+1) = (((*(pSrc+3))-48)<<4) + ((*(pSrc+4))-48);
*(pDst+2) = (((*(pSrc+6))-48)<<4) + ((*(pSrc+7))-48);
*(pDst+3) = (((*(pSrc+9))-48)<<4) + ((*(pSrc+10))-48);
*(pDst+4) =- 上一篇:adb1.0.31windows版本
- 下一篇:linux SCSI-UFS协议总图
相关资源
- nmos转移特性曲线hspice程序—&mdas
- Spire API文档
- The direction of synaptic plasticity mediated
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- 28335写的用spi读取传感器数据并用CA
- STM32F103 CC2500完整驱动(模拟SPI)
- 手机短信api接口(源代码)
- cs5530的SPI程序
- 9s12单片机SPI功能代码
- stm32 用SPI 方式读写 SDHC
- SPI Master 的Verilog源代码
- Spire.Doc 破解版
- Spin-1目标的广义parton分布的多项式和
- 介子和S波氘核的四极矩以及对spin-1系
- 基于SPCE061A和PTR8000的模拟SPI总线通信
- 用8位spi实现16位spi
- linux SPI设备注册和驱动小结
- 用Verilog语言写的CPLD和MCU通讯的SPI接口
- Spirent iTest用户手册详细介绍iTest的各
- 精确结果为3d N $$ \\ mathcal {N} $$ = 2 S
- 从Poincaré代数的闭合中得
- Temperature dependence of electron-spin cohere
- QCD中三个循环处的Spin-2形状因子
- STM32分别以串口硬件SPI模拟并口驱动
- stm32利用spi驱动tm1803
- 戴尔Inspiron笔记本 摄像头工具webcam
- 戴尔DELL Inspiron 14R N4010网卡驱动 最新
- dell inspiron n4010摄像头驱动 官方最新版
- 戴尔DELL灵越Inspiron N4120快捷键驱动程
川公网安备 51152502000135号
评论
共有 条评论