北京赛车pk10开奖

基于stm32f103zet6的DS1302学习

2019-09-21来源: eefocus关键字:北京赛车pk10开奖stm32f103zet6  DS1302

由于硬件出了问题,也就是外部低速晶振没用,震不起来,然后查看了网上的帖子,STM32的RTC果然口碑不怎么样,所以果断换DS1302,在移植的过程中还算顺利,记录下来吧,也算对自己的总结吧!

1、所谓的DS1302


这里面也指明了简单的SPI协议

然后就直接上代码了,注释很详细的!基本实现单行注释

1、主函数main


  1. #include "stm32f10x。h"      

  2. #include "SysTick.h"  

  3. #include "Delay.h"  

  4. #include "Usart.h"  

  5. #include "stdio.h"  

  6. #include "DS1302。h"  

  7. /*******由于没有做外设测试的程序是:按键PA0仅一个LED灯                                  ******/  

  8. /*******由于没有做外设测试的程序是:串口采用的是PA9->(T<->T),PA9->(R<->R)*****/  

  9. /*******由于没有做外设测试的程序是:ds1302clk <-> PA4  

  10.                                                                         ds1302dat <-> PA5  

  11.                                                                         ds1302rst <-> PA6                                      *****/  

  12.                                                                           

  13. extern uint8_t write[];  

  14. extern uint8_t read[];  

  15.   

  16. int main(void)  

  17. 北京赛车pk10开奖{  

  18.     //uint8_t time[] = {0,0,12,11,11,1,13};  

  19.     //初始化系统定时器  

  20.     SysTick_Init();  

  21.     USART1_Config();  

  22.     ds1302_GPIO_Configuration();                                                    //一定别忘记了配置GPIO  

  23. 北京赛车pk10开奖    printf("rn ("__DATE__ " - " __TIME__ ") rn");  

  24.     //ds1302_init(write,time);                                                      //设置1302的初始时间  

  25.     ds1302_data(read);  

  26.     while(1);                                                                                           //这个得加,不然的话会有尾巴是乱码!!!  

  27. }  


  1. /*******************************************************************************  

  2. ** 文件名称 : ds1302.c  

  3. ** 编译环境 : RealView MDK-ARM 4。53  

  4. 北京赛车pk10开奖** 文件作者 :     

  5. ** 功能说明 : ds1302相关函数定义  

  6. ** 软件协议 :模拟SPI协议  

  7. ** 简介           :clk上升沿发送数据,clk下降沿接收数据  

  8. 北京赛车pk10开奖                        :typedef unsigned          char uint8_t;  

  9. **                        

  10. **                               

  11. **  

  12. *******************************************************************************/  

  13. /* 包含头文件 *****************************************************************/  

  14. #include "ds1302.h"  

  15. #include "stdio.h"  

  16. #include "Delay.h"  

  17.   

  18. uint8_t read[] = {0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};//读秒、分、时、日、月、周、年的寄存器地址  

  19. uint8_t write[] = {0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};//写秒、分、时、日、月、周、年的寄存器地址  

  20. /*PA4、PA6为输出*/  

  21. /*PA5配置为开漏模式,此模式下能够实现真正的双向IO口*/  

  22. 北京赛车pk10开奖void ds1302_GPIO_Configuration(void)  

  23. {  

  24.     GPIO_InitTypeDef GPIO_InitStruct;  

  25.   

  26.     GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;  

  27.     GPIO_InitStruct.GPIO_Pin = ds1302clk|ds1302rst;         //clk、rst配置为输出  

  28.     GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;  

  29. 北京赛车pk10开奖    GPIO_Init(GPIOA, &GPIO_InitStruct);  

  30. 北京赛车pk10开奖  

  31.     GPIO_InitStruct。GPIO_Mode = GPIO_Mode_Out_OD;               //IO配置为双向  

  32.     GPIO_InitStruct.GPIO_Pin = ds1302dat;  

  33.     GPIO_Init(GPIOA, &GPIO_InitStruct);  

  34.   

  35. }  

  36.   

  37. void write_1302byte(uint8_t dat)                                            //写一个字节的数据sck上升沿写数据  

  38. {  

  39.     uint8_t i = 0;  

  40.     GPIO_ResetBits(GPIOA,ds1302clk);                                        //ds1302clk=0  

  41.       

  42.   Delay_us(2);//延时大约2us  

  43.       

  44.     for(i = 0;i < 8;i ++)  

  45.         {  

  46.             GPIO_ResetBits(GPIOA,ds1302clk);                            //ds1302clk=0;  

  47.             if(dat&0x01)  

  48. 北京赛车pk10开奖                GPIO_SetBits(GPIOA,ds1302dat);  

  49. else //ds1302dat=(dat&0x01)

[1] [2] [3]
关键字:stm32f103zet6  DS1302 编辑:什么鱼 引用地址:http://news.2689mr.com/mcu/ic475268.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32的FSMC详解
下一篇:STM32用USART发送字符串,以USART_FLAG_TXE和USART_FLAG_TC怎么用

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

stm32入门——跑马灯(基于stm32f103zet6)
的驱动都要使能相应的时钟,首先看stm32系统的时钟框图经查阅资料可知,GPIO的时钟在APB2的外设时钟使能寄存器上,相关函数的定义在stm32f10x_rcc.h中 void   RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)其源代码为:void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState){  /* Check the parameters */ //检查值的有效性&nbs
发表于 2019-10-21
stm32入门——跑马灯(基于stm32f103zet6)
stm32入门——跑马灯(基于stm32f103zet6)
的驱动都要使能相应的时钟,首先看stm32系统的时钟框图经查阅资料可知,GPIO的时钟在APB2的外设时钟使能寄存器上,相关函数的定义在stm32f10x_rcc.h中 void   RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)其源代码为:void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState){  /* Check the parameters */ //检查值的有效性&nbs
发表于 2019-10-21
stm32入门——跑马灯(基于stm32f103zet6)
STM32F103ZET6任意频率正弦波+三角波工程源码
STM32F103输出正弦波源程序,大家可以参考下单片机源程序如下:#include "sys.h"#include "usart.h"                #include "delay.h"                  #include "key.h"         #include "
发表于 2019-10-15
STM32F103ZET6 — PWM(TIM1)
置管脚的 mode2. 配置 NVIC (如果有中断需要)3. 开启 TIM1/TIM8 的时钟4. 配置 TIMx_ARR 寄存器,来确定周期5. 配置分频寄存器,确定分频参数6. 配置计数方式(向上,向下,中央)7. 配置 PWM1 模式8. 开启输出和互补输出9. 配置 TIMx_CCRx ,比较寄存器的值(后面可以更改)10. 配置输出信号的极性11. 开启每个输出通道的预装入功能12. 配置死区时间13. 开启 TIM1 的整个模块的预装入功能14. 打开 PWM 输出15. 开启 TIM1 的使能位#include "stm32f10x.h"#include "
发表于 2019-08-24
STM32F103ZET6 — PWM(TIM1)
移植freeRTOS V10.2.0到stm32f103zet6
应用FPU 1、工程文件startup_stm32f40_41xxx.s 新建一个 test.c 文件,并保存在 USER 文件夹下2、工程文件夹USER 文件夹专门用来存放启动文件(startup_stm32f40_41xxx.s)、工程文件(test.uvprojx)等不可缺少的文件,OBJ 则用来存放这些编译过程中产生的中间文件(包括.hex 文件也将存放在这个文件夹里面) SYSTEM文件夹,该文件夹由 ALIENTEK 提供,可以在光盘任何一个实例的工程目录下找到3、工程分组 Target 目录树上点击右键  Manage Project Items我没改文件夹,还是用原
发表于 2019-08-23
移植freeRTOS V10.2.0到stm32f103zet6
北京赛车pk10开奖Atmega16单片机实验:DS18B20和ad采集显示程序
p;               '定义BS18B20接在PB0上Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2Config Lcd = 20 * 4$baud = 19200Cls'Dim SysDS18B20_1 As Byte'Dim SysDS18B20_2 As ByteDim Cgqidi_1(8) As Byte  &nbs
发表于 2019-10-21
Atmega16单片机实验:DS18B20和ad采集显示程序
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 北京赛车pk10开奖电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 2689mr.com, Inc. All rights reserved
北京赛车pk10计划 北京赛车 北京赛车 北京赛车pk10计划 北京赛车pk10计划 北京赛车pk10开奖 天音彩票官网 北京赛车 大唐APP 北京赛车pk10开奖