STM32实时时钟RTC按键修改时间
User文件夹下main.c #include \#include \ #include \ #include \ #include \#include \#include \#include \#include \#include \
#include \ #include \#include \ #include \#include \#include \#include \#include \ #include \ #include \ #include \
//Mini STM32开发板扩展实验21 //ENC28J60网络模块 实验 //正点原子@ALIENTEK
//技术论坛:www.openedv.com //广州市星翼电子科技有限公司 void uip_polling(void); void Display_Time(void); void received_date(u8 *str);
u16 Process_date(u8 q,u8 b,u8 s,u8 g);
#define BUF ((struct uip_eth_hdr *)&uip_buf[0]) u8 t,Addres_1=10,Addres_2=1,Addres_3=168,Addres_4=192; int main(void) { Stm32_Clock_Init(9); //系统时钟设置 //usart_init(72,9600); //串口初始化为9600 USART3_Init(36,9600); USART2_Init(36,9600); delay_init(72); //延时初始化 LED_Init(); //初始化与LED连接的硬件接口 LCD12864_InitPort(); //初始化LCD LCD12864_Init();
//KEY_Init(); //初始化按键 RTC_Init(); //初始化RTC // usmart_dev.init(72); //初始化USMART EXTIX_Init();
while(tapdev_init()) //初始化ENC28J60错误 { LCD_ShowString(3,0,\ delay_ms(200); LCD12864_Clr();//清除之前显示 }; uip_init(); //uIP初始化
uip_ipaddr(ipaddr, 192,168,1,10); //设置本地设置IP地址 uip_sethostaddr(ipaddr);
uip_ipaddr(ipaddr, 192,168,1,1); //设置网关IP地址(其实就是你路由器的IP地址) uip_setdraddr(ipaddr); uip_ipaddr(ipaddr, 255,255,254,0); //设置网络掩码 uip_setnetmask(ipaddr); uip_listen(HTONS(1200)); //监听1200端口,用于TCP Server uip_listen(HTONS(80)); //监听80端口,用于Web Server tcp_client_reconnect(); //尝试连接到TCP Server端,用于TCP Client while (1) { Display_Time(); uip_polling(); //处理uip事件,必须插入到用户程序的循环体中 // key=KEY_Scan(); if(tcp_client_tsta!=tcp_client_sta)//TCP Client状态改变 { if(tcp_client_sta&(1<<7)) { LCD_ShowString(3,0,\接收数据:\ disp_IP(); } else
{ LCD_ShowString(3,0,\已断开! \ disp_IP(); } if(tcp_client_sta&(1<<6)) //收到新数据 { //LCD12864_Clr(); //清除之前显示 received_date(tcp_client_databuf); tcp_client_sta&=~(1<<6); } tcp_client_tsta=tcp_client_sta; }
delay_ms(1);
usart3_Receive_Process(); } }
//uip事件处理函数
//必须将该函数插入用户主循环,循环调用. void uip_polling(void) { u8 i; static struct timer periodic_timer, arp_timer; static u8 timer_ok=0; if(timer_ok==0)//仅初始化一次 { timer_ok = 1; timer_set(&periodic_timer,CLOCK_SECOND/2); //创建1个0.5秒的定时器 timer_set(&arp_timer,CLOCK_SECOND*10); //创建1个10秒的定时器 } uip_len=tapdev_read(); //从网络设备读取一个IP包,得到数据长度.uip_len在uip.c中定义 if(uip_len>0) //有数据 { //处理IP数据包(只有校验通过的IP包才会被接收) if(BUF->type == htons(UIP_ETHTYPE_IP))//是否是IP包? { uip_arp_ipin(); //去除以太网头结构,更新ARP表 uip_input(); //IP包处理 //当上面的函数执行后,如果需要发送数据,则全局变量 uip_len > 0 //需要发送的数据在uip_buf, 长度是uip_len (这是2个全局变量) if(uip_len>0)//需要回应数据 { uip_arp_out();//加以太网头结构,在主动连接时可能要构造ARP请求 tapdev_send();//发送数据到以太网 } }else if (BUF->type==htons(UIP_ETHTYPE_ARP))//处理arp报文,是否是ARP请求包? { uip_arp_arpin(); //当上面的函数执行后,如果需要发送数据,则全局变量uip_len>0 //需要发送的数据在uip_buf, 长度是uip_len(这是2个全局变量) if(uip_len>0)tapdev_send();//需要发送数据,则通过tapdev_send发送 } }else if(timer_expired(&periodic_timer)) //0.5秒定时器超时 { timer_reset(&periodic_timer); //复位0.5秒定时器
//轮流处理每个TCP连接, UIP_CONNS缺省是40个 for(i=0;i
#if UIP_UDP //UIP_UDP //轮流处理每个UDP连接, UIP_UDP_CONNS缺省是10个 for(i=0;i
void Display_Time(void) { if(t!=timer.sec) { t=timer.sec; LCD_ShowString(1,5,\星期\ LCD_ShowString(0,3,\ LCD_Shownum(0,4,(timer.w_year0)); LCD12684_Wdat(0x2d); LCD_Shownum1(timer.w_month); LCD12684_Wdat(0x2d);
LCD_Shownum1(timer.w_date); switch(timer.week) { case 0:LCD_ShowString(1,7,\日\ case 1:LCD_ShowString(1,7,\一\ case 2:LCD_ShowString(1,7,\二\ case 3:LCD_ShowString(1,7,\三\ case 4:LCD_ShowString(1,7,\四\ case 5:LCD_ShowString(1,7,\五\ case 6:LCD_ShowString(1,7,\六\ } LCD_Shownum(1,0,timer.hour); LCD12684_Wdat(0x3a); LCD_Shownum1(timer.min); LCD12684_Wdat(0x3a); LCD_Shownum1(timer.sec); } }
void received_date(u8 *str) { u8 len; len=(u8)strlen(str); switch(len) { case 13: Addres_4= (u8)Process_date(0,(str[0]-0x30),str[1],str[2]); Addres_3= (u8)Process_date(0,(str[4]-0x30),str[5],str[6]); Addres_2=(u8)Process_date(0,0,str[8],str[9]); Addres_1=(u8)Process_date(0,0,str[11],str[12]); uip_ipaddr(ipaddr, Addres_4,Addres_3,Addres_2,Addres_1); //设置本地设置IP地址 uip_sethostaddr( …… 此处隐藏:2454字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




