JS动态获取当前时间

  HTML部分:

     <div class="div">
            <div id="div">
                
            </div>
        </div>

  CSS样式部分:

*{margin: 0; padding: 0;}
.div{width:100%;height:636px;background: linear-gradient(to top, #333 0%, #fff 100%);}
#div{box-sizing: border-box;position: absolute;top: 50%;left: 50%;transform: translate(-50%,-100%);font-family: STXingkai;font-size: 50PX;}

  JS部分:

         function biao(){
                var div = document.getElementById("div");
                var dt = new Date();    //获取当前系统时间
                var year = dt.getFullYear(); //获取年
                var month = dt.getMonth()+1; //获取月
                var ri = dt.getUTCDate();   //获取日
                var hours = dt.getHours();  //获取时
                var min = dt.getMinutes();  //获取分
                var sec = dt.getSeconds();  //获取秒
                var day = dt.getDay();    //获取星期几,返回的是数字,不是一二三这种中文,
                var arr = ["一","二","三","四","五","六","日"]  //将星期返回的数字转换成中文的一二三四
                div.innerHTML=year+"年"+month+"月"+ri+"日"+hours+"时"+"<br />"+min+"分"+sec+"秒"+"星期:"+arr[day-1];
            }
            setInterval("biao()",1000);  //setInterval定时器:第一个值为biao()这个方法,第二个值为多少秒执行一次。

 

最终效果:

  

 

  

转载于:https://www.cnblogs.com/houxiaowei/p/8267828.html

<think>好的,我现在要回答用户关于如何使用单片机实现对USB设备的管理与控制的问题。首先,我需要理清用户的需求。用户可能是在开发一个需要连接管理USB设备的嵌入式系统,比如数据采集、外设控制等。他们可能希望知道硬件选型、软件框架、协议实现等方面的内容。 首先,硬件选型是关键。常见的支持USB单片机有哪些呢?STM32系列,特别是F4F7系列,内置USB控制器,支持Host/Device模式。还有ESP32-S2/S3,集成USB OTG,适合物联网应用。NXP的LPC系列,比如LPC1850,也有USB Host/Device功能。这些芯片用户可能已经接触过,或者需要根据项目需求选择。 接下来是软件框架部分。RTOS的使用很重要,比如FreeRTOS或RT-Thread,它们提供USB协议栈,简化开发。例如,RT-Thread的USB Host驱动框架支持多种设备类。然后是协议实现,USB通信需要处理不同的描述符,比如设备描述符、配置描述符,以及具体的类协议,比如HID或Mass Storage。用户可能需要实现枚举过程,控制传输,中断传输等。 然后是开发步骤。硬件设计需要考虑USB接口的物理连接,比如D+/D-线路的阻抗匹配,电源管理。软件部分需要初始化USB控制器,编写设备枚举代码,处理标准请求如GET_DESCRIPTOR,以及实现具体的设备类驱动,比如HID或CDC。 应用场景方面,用户提到的华为云物联网平台OneNet平台,可能涉及数据上传。比如,单片机作为USB Host读取传感器数据,通过通信模块上传云端。例如,引用[4]提到SIM800C上传GPS数据到OneNet,结合USB管理,可能扩展应用。 还需要考虑的问题有USB协议栈的稳定性,不同设备的兼容性,以及电源管理。比如,如何处理设备的热插拔,如何分配供电,避免过载。引用[3]提到多线程设计,UI与数据采集异步执行,可能适用于USB管理,需要多任务处理。 可能的相关问题包括USB OTG与Host的区别,如何调试USB通信,以及如何保证数据传输的可靠性。这些都需要在回答中引导用户进一步思考。 总结来说,实现方案需要硬件选型、软件框架、协议实现、开发步骤、应用场景注意事项的结合,同时结合用户提供的引用内容,比如使用RT-Thread多线程处理,云端数据上传等。</think>### 单片机实现USB设备管理与控制的方案 #### 1. **硬件选型** - **支持USB单片机**: 选择内置USB控制器的单片机,如STM32系列(如STM32F4/F7,支持USB Host/Device模式)、ESP32-S2/S3(集成USB OTG)、NXP LPC系列(如LPC1850)等[^3]。 - **扩展芯片**: 若单片机无内置USB控制器,可外接USB Host芯片(如CH375、MAX3421E)实现USB Host功能。 #### 2. **软件框架** - **RTOS支持**: 使用RT-Thread、FreeRTOS等实时操作系统,简化多任务调度USB协议栈集成。例如,RT-Thread提供USB Host驱动框架,支持HID、Mass Storage等设备类。 - **USB协议栈**: 根据需求选择开源协议栈(如STM32的HAL库、USBX),或自行实现基础协议层(控制传输、端点配置)。 #### 3. **协议实现** - **设备枚举**: 单片机作为Host时,需完成设备连接检测、描述符读取(设备描述符、配置描述符、接口描述符)驱动匹配。 - **设备类协议**: - **HID设备**(如键盘鼠标):解析报告描述符数据包格式。 - **Mass Storage**(U盘):实现SCSI命令集(如INQUIRY、READ_CAPACITY)。 - **CDC类**(虚拟串口):封装串口通信协议。 - **控制传输**: 处理标准请求(如`GET_DESCRIPTOR`、`SET_CONFIGURATION`)自定义厂商请求。 #### 4. **开发步骤** 1. **硬件设计**: - 确保USB接口符合电气规范(如阻抗匹配、ESD保护)。 - 配置电源管理电路(支持设备供电或总线供电)。 2. **软件初始化**: ```c // 示例:STM32 USB Host初始化(HAL库) USBH_HandleTypeDef husb; USBH_Init(&husb, USBH_User_Callback, HOST_FS); USBH_RegisterClass(&husb, USBH_MSC_CLASS); USBH_Start(&husb); ``` 3. **设备驱动开发**: - 实现设备类回调函数(如`USBH_MSC_Application`)。 - 解析数据并执行操作(如文件读写、传感器数据解析)。 4. **数据上传与云端集成**: 结合通信模块(如SIM800C[^4])将USB设备数据上传至物联网平台(如华为云[^1]、OneNet[^4])。 #### 5. **应用场景** - **工业控制**:通过USB连接传感器,实时采集数据并上传云端[^2]。 - **消费电子**:管理外接存储设备(U盘)、输入设备(扫码枪)。 - **物联网网关**:作为中间节点,转发USB设备数据至云端[^1]。 #### 6. **注意事项** - **兼容性**:需测试不同厂商设备的枚举通信稳定性。 - **电源管理**:避免总线供电过载,支持热插拔检测。 - **协议优化**:采用DMA传输或双缓冲机制提升吞吐量。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值