基于STM32F103芯片的USB接口的研究与实现.
2021-12-24 16:13:45 1.94MB 论文
1
USB是一种新型的计算机总线接口技术,其全称为Universal Serial Bus(通用串行总线),USB接口使计算机和外部设备的连接变得十分方便。到目前为止,USB已经在PC机的多种外设上得到了应用,同时在工业生产、科研等领域也得到了广泛的应用。USB成为逐渐取代其它接口标准的数据通信标准,USB接口也有了取代其它老式接口的趋势。现今基于USB,尤其是USB2.0的设备应用非常广泛[1]。 笔者以意法半导体公司采用ARM Cortex-M3 32位RISC内核的STM32F103芯片为硬件平台,结合USB2.0规范协议和STM32F103芯片的USB接口特性,分别设计并实现了基于STM32F103的USB设备功能和USB HOST功能。 文章首先简单介绍了USB总线和USB系统结构的概念,剖析了USB2.0规范协议。然后基于STM32F103 USB固件库开发了针对STM32F103 USB接口的PC机下的Windows驱动程序和应用程序,验证了STM32F103 USB作为USB从设备的可行性。另外针对STM32F103应用范扩大,STM32F103作为USB主控制端的应用需求也日益增大,本文通过引入USB总线接口芯片CH375扩展了STM32F103的USB HOST功能,并通过设计一个针对STM32F103的USB HOST的U盘解决方案验证了STM32F103作为USB主控制端的可行性。全文全篇围绕ST公司STM32F103芯片的USB接口的研究和扩展作了全面地介绍,为基于STM32F103芯片USB的进一步应用打下了良好的基础。
2021-12-23 09:04:18 4.55MB USB 2.0 STM32F103 固件
1
使用stm32f103库函数编写支持LCD2004+DS18B20+DS1302时钟可以进行显示。
2021-12-21 15:18:43 6.52MB LCD2004+DS18B20+
1
学习的时候弄了好久 就是弄不出来 ,最后中彩了,竟然调通了,小编自己调的程序,可以的。
2021-12-18 02:14:29 7.46MB stm32
1
收发均采用DMA,特别注意不同型号STM系列对应DMA通道不同。
2021-12-17 22:45:49 8KB 自主开发
1
主程序: #include "sys.h" u8 Flag_Left,Flag_Right; // u8 Flag_Stop=1,Flag_Zero=0,Flag_Show,Flag_Qian,Flag_Hou,Flag_Left,Flag_Right,Flag_OK; //停止标志位和 显示标志位 默认停止 显示打开 float Motor_X,Motor_Y,Motor_Z; long int Motor_A,Motor_B,Motor_C; //电机PWM变量 long int Target_A,Target_B,Target_C; //电机目标值 int Voltage; //电池电压采样相关的变量 float Show_Data1,Show_Data2,Show_Data3,Show_Data4; //全局显示变量,用于显示需要查看的数据 u8 delay_50,delay_flag; //延时相关变量 u8 PID_Send; //CAN和串口控制相关变量 float Pitch,Roll,Yaw,Move_X,Move_Y,Move_Z,Roll_Bias,Pitch_Bias,Roll_Zero,Pitch_Zero; float Balance_Kp=200,Balance_Kd=19,Velocity_Kp=55,Velocity_Ki=10; //位置控制PID参数 int main(void) { Stm32_Clock_Init(9); //=====系统时钟设置 delay_init(72); //=====延时初始化 JTAG_Set(JTAG_SWD_DISABLE); //=====关闭JTAG接口 JTAG_Set(SWD_ENABLE); //=====打开SWD接口 可以利用主板的SWD接口调试 LED_Init(); //=====初始化与 LED 连接的硬件接口 KEY_Init(); //=====按键初始化 OLED_Init(); //=====OLED初始化 uart_init(72,128000); //=====串口1初始化 uart2_init(36,9600); //=====串口2初始化 uart3_init(36,115200); //=====串口3初始化 Adc_Init(); //=====adc初始化 IIC_Init(); //=====IIC初始化 delay_ms(50); MPU6050_initialize(); //=====MPU6050初始化 DMP_Init(); //=====初始化DMP delay_ms(500); //=====延时等待初始化稳定 EXTI_Init(); //=====MPU6050 5ms定时中断初始化 CAN1_Mode_Init(1,2,3,6,0); //=====CAN初始化 MiniBalance_PWM_Init(7199,14); //=====初始化PWM 用于驱动电机 while(1) { if(Flag_Show==0) { DataScope(); //===上位机 delay_flag=1; //===50ms中断精准延时标志位 oled_show(); //===显示屏打开 while(delay_flag); //===50ms中断精准延时 主要是波形显示上位机需要严格的50ms传输周期 } else { APP_Show(); //===APP oled_show(); //===显示屏打开 delay_flag=
2021-12-14 18:04:26 4.43MB STM32F103 球轮机器人 平衡机器人
Sensirion温湿度传感器SHT2X驱动--基于STM32F103,成功上板验证,标准IIC接口时序,通过串口打印温湿度数据。
2021-12-10 09:04:48 4.81MB SHT2X IIC STM32F103
1
#智能灌溉系统 引脚说明 PA8-氧气泵 PA9-水泵 PD8-总排水阀 PD10-水培植物 PD12-土培植物 PD14-污水阀 PB12-最高液位检测 PB14-最低液位检测
2021-12-09 01:20:39 432KB C
1
基于STM32F103的无线WIFI智能灯光控制系统设计.pdf
2021-12-08 08:12:32 2.05MB STM32 行业 论文期刊 专业指导
前言: 美国Vicor公司是现时世界最大的高密度电源模块生产商, 同时也是全球唯一能以零电压、零电流技术大批量生产电源模块的厂家。Vicor电源模块包括DC-DC、AC-DC电源模块,隔离、非隔离电源模块转换器。其中VICOR公司电源模块的核心技术是 “零电流”开关,它使变换器的工作频率达到 了1MHz,效率大于80%。 下面来说说这个数控电源的参数吧 1、输出电源1-30V可调,电流范围0.2A-8A,可以输出小电流,同时也能达到8A左右的电流输出,功率为100W,超过100w的时候自动降低电流 2、直接输入数字,即可输出相应的电压、电源,超级方便、快速 3、使用1602屏幕,可以显示设定的电压、电流,在有负载接入时,自动切换显示为输出功率和负载电阻,同时可以显示电量和内部温度 4、过压保护,超过设定电压的105%,关闭输出,保护负载 5、自动休眠,待机电流仅有50uA左右 6、体较小方便携带,内置6接18650供电,无需连接220V电源,真正实现移动稳压 本数控电源设计使用了STM32F106主控,购买了一个最小系统板,功率部分用的是成品XL4016模块及一块升压模块。 原理图: 实物显示:
1