mark
1、扫地机器人    该项目为某大厂开源的前期项目,代码写的特别规范,很适合初学者入门学习。系统软硬件方案为stm32f103+freeRtos。    实现了避障、防跌落、充电等功能。涉及到的外设也比较全IIC、SPI、UART、ADC、PWM、定时器中断等,而且代码还支持bootloader升级。同时还可以学习实时操作系统freeRTOS,任务调度、内存管理、任务间通信等。************************************************** 文件夹说明 *************************************************USER文件夹        main函数SYSTEM文件夹      必要的延时函数 调试串口 源文件初始化HARDWARE文件夹    硬件初始化源文件application_Robot  机器人行为相关的文件application_Share  机器人共享相关的文件(一般为算法)application_Motor  机器人电机应用相关文件application_Key    机器人按键应用相关文件application_Led    机器人LED应用相关文件application_Led    机器人adc获取与处理应用相关文件application_PowerChip    机器人电池管理芯片与充电应用相关文件application_Bmi160    机器人BMI160 陀螺仪芯片 应用相关文件application_Drop    机器人掉落传感器应用相关文件application_UltraSonic    机器人超声波传感器应用相关文件application_GarBox    机器人垃圾盒应用相关文件CORE文件夹        STM32启动文件 和内核函数文件FWLIB文件夹       STM32库文件FreeRTOS_CORE   FreeRTOS 文件夹     freertos内核函数Usmart文件夹        usmart调试函数源码testfunction文件夹  测试函数readme              说明文档************************************************** 硬件连接说明 *************************************************一、普通IO输出  PE6  - 电源控制IO       高电平关机  PE2  - 风机电源控制IO   高电平使能  PE8  - VA+电源控制IO    高电平使能  PC8  - VCC+电源控制IO   高电平使能  PA11 - V+电源控制IO     高电平使能  PC6  - 超声波发送IO     高电平使能  PC12 - 边刷控制引脚     1 正转  PA8  - 滚刷控制引脚     0 正转  PE4  - 右轮控制引脚     0 正转  PE7  - 左轮控制引脚     0 正转  4选1模拟adc通道控制引脚  PD9  PD11二、PWM输出IO  PB3  - LED_CTL2  - RI1 RI10 RI4 RI17 (红灯)  TIM2 CHANNEL2  都是高电平点亮   PB10 - LED_CTL   - RI2 RI11 RI5 RI18 (白灯)  TIM2 CHANNEL3  PB11 - LED_CTL1  - RI3 RI12 RI6 RI19 (黄灯)  TIM2 CHANNEL4  PA1  - 风机控制IO TIM5_CH2高电平全速  PB0  -TIM3_CH3  右轮 占空比越少 越快  PB1  -TIM3_CH4  左轮  PD13 -TIM4_CH2  滚刷 占空比越大 越快  PD14 -TIM4_CH3  边刷  PD15 -TIM4_CH4  防跌落 三、普通输入IO  PB4 - KEYI2 (电平0为按下)  PD7 - KEYI1 (电平0为按下)   PC7    EXTI7  -  超声波距离传感器      距离为低电平时间            PD1    EXTI1  -  右轮悬空传感器        悬空后是高电平            PD2    EXTI2  -  左轮悬空传感器            PD8    EXTI8  -  左边碰撞传感器        碰撞后是高电平            PD10   EXTI10 -  右边碰撞传感器        碰撞后是高电平            PE13   EXTI13 -  电源芯片事件引脚            PE3    EXTI3  -  电源芯片ACOK事件引脚 有充电座时 变为高电平 无时变低     PC13   垃圾盒是否在位 高电平垃圾盒被取出四、ADC输入            PA0 - 4选1通道检测      adc1_ch0            PA2 - 电池温度检测      adc1_ch2  1700~2000            PA3 - 边刷电流检测      adc1_ch3            PA4 - 防跌落右前        adc1_ch4            PA5 - 放电电流IBAT      adc1_ch5            PA6 - BAT电池电压       adc1_ch6               PA7 - 防跌右后          adc1_ch7            PC0 - 风机电流检测      adc1_ch10  要检测adc电压 需要开启VCC+电源 见iooutput.c            PC1 - 左驱动轮电流检测  adc1_ch11            PC2 - 右驱动轮电流检测  adc1_ch12            PC3 - 滚刷电流检测      adc1_ch13              PC4 - 防跌左后          adc1_ch14            PC5 - 防跌左前          adc1_ch15             模拟通道芯片            1:沿边传感器  0-2000            2:电池ID      3790-3820            3:充电电流    0-1000            4:充电座电压  2900-3200 五、捕获输入    PC9  - TIM8_CH4 风机编码器    PE9  - TIM1_CH1 左轮编码器    PE11 - TIM1_CH2 右轮编码器六、SPI(陀螺仪 BMI160) *       -------------CS   PB12------------------------ *       -------------SCK  PB13------------------------ *       -------------MISO PB14------------------------ *       -------------MOSI PB15------------------------七、IIC(与电源芯片bq24733通信)             PB6    SCL              PB7    SDA  ************************************************** 片内资源 *************************************************TIM6 BMI160数据获取TIM7 超声波计数部分代码截图如下:*******************注:免费项目禁止商用获利
点赞 26
评论 106
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务