资源简介
用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协议总图
相关资源
- SD卡_SPI驱动源代码.rar
- Cadence Virtuoso SPICE网表导入指南
- CrawlSpider豆瓣图书爬虫
- Hspice(中文实用版)
- MSP430单片机I2C应用笔记
- spi工作在从模式下的verilog代码
- STM32L4_硬件SPI配置_LL库版.rar
- F28335的SPI自发自收.rar
- 基于STM32HAL库的AD9834驱动代码修正.z
- 标准羊角曲线 Euler spiral
- PIC单片机SPI主从通迅
- Winsock2 SPI网络封包截获技术
- Proteus仿真:arduino通过SPI驱动lcd1602(
- dsPIC30F 在无传感器BLDC 控制中的应用
- stm32f103系列spi连接rc522的rfid读卡程序
- orCADPspice9.1仿真软件汉化补丁包.rar
- ICM20602数据读取及初始化配置
- RT1052 QSPI 驱动代码
- 自己设计的d触发器hspice代码,利用传
- Qt spi测试
- LINUX 串口与SPI操作
- SPI 读写SD卡 程序可以直接使用
- ExampleCode_RDC_AD2S1210官方例程内含模拟
- spi测试程序,适合初学者
- AVR ATMEGA16 SPI双机通信的PROTEUS仿真 双
- VCSEL激光器的Pspice模型文件
- spiflash 驱动代码
- ad7794_spi操作源文件
- ADXL345 STM32 SPI 代码亲测可用
- 图像压缩,使用SPIHT算法进行图像压缩
评论
共有 条评论