# kaituo **Repository Path**: weigo6/kaituo ## Basic Information - **Project Name**: kaituo - **Description**: 一些工程资料 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-05 - **Last Updated**: 2024-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 开拓者车工程项目仓库 3-09 新建f4工程(kaituo_pj_v1,1),增加了软件包,正点原子F4示例,增加keilf4固件包 tips:新建工程时,f4固件包中的fmc.c和.h模块删去,f407用不上 3-11 加外设ing ## 开拓者引脚定义表 | 功能列表 | 原引脚名 | STM32F103RC/ET6 | 功能 | STM32F103ZET6 | 功能 | 复用 | | ------------------ | -------- | --------------- | -------- | ------------- | -------- | ---- | | **前灰度12路** | AD4* | PA0-WKUP | ADCIN0 | PA0-WKUP | ADCIN0 | | | 连续多通道 | AD5* | PA1 | ADCIN1 | PA1 | ADCIN1 | | | 开启DMA | AD6* | PA2 | ADCIN2 | PA2 | ADCIN2 | | | | AD7* | PA3 | ADCIN3 | PA3 | ADCIN3 | | | 未配置 | AD8 | PA4 | ADCIN4 | | | | | 未配置 | AD9 | PA5 | ADCIN5 | | | | | 未配置 | AD10 | PA6 | ADCIN6 | | | | | 未配置 | AD11 | PA7 | ADCIN7 | | | | | | AD14* | PB0 | ADCIN8 | PB0 | ADCIN8 | | | | AD15* | PB1 | ADCIN9 | PB1 | ADCIN9 | | | | AD0* | PC0 | ADCIN10 | PC0 | ADCIN10 | | | | AD1* | PC1 | ADCIN11 | PC1 | ADCIN11 | | | | AD2* | PC2 | ADCIN12 | PC2 | ADCIN12 | | | | AD3* | PC3 | ADCIN13 | PC3 | ADCIN13 | | | | AD12* | PC4 | ADCIN14 | PC4 | ADCIN14 | | | | AD13* | PC5 | ADCIN15 | PC5 | ADCIN15 | | | | | | | | | | | **色标、撞针** | D0 | PB2 | GPIO | PF0 | GPIO | | | 上拉输入 | D1 | PB10 | GPIO | PF1 | GPIO | | | | D2 | PB11 | GPIO | PF2 | GPIO | | | | D3 | PB12 | GPIO | PF3 | GPIO | | | | D4 | PB13 | GPIO | PF4 | GPIO | | | | D5 | PB14 | GPIO | PF4 | GPIO | | | | | | | | | | | **激光** | SERVO5 | PB3 | GPIO | PG0 | GPIO | | | 上拉输入 | SERVO4 | PB4 | GPIO | PG1 | GPIO | | | | | | | | | | | **识别颜色传感器** | D9 | PA9 | GPIO | PG2 | GPIO | | | | | | | | | | | **sys6288/jq89** | TX2 | PC10 | USART3TX | PD8 | USART3TX | √ | | uart3 | RX2 | PC11 | USART3RX | PD9 | USART3RX | √ | | | | | | | | | | **陀螺仪** | TX1 | PC12 | USART5TX | PC12 | USART5TX | | | uart5 | RX1 | PD2 | USART5RX | PD2 | USART5RX | | | | | | | | | | | **蓝牙模块hc05** | TX2 | PC10 | USART3TX | PC10 | USART4TX | | | uart3(冲突) | RX2 | PC11 | USART3RX | PC11 | USART4RX | | | | | | | | | | | **串口屏** | TX3 | PB6 | USART1TX | PB6 | USART1TX | √ | | uart1 | RX3 | PB7 | USART1RX | PB7 | USART1RX | √ | | | | | | | | | | **蜂鸣器** | BEEP | PC15 | GPIO | PG3 | GPIO | | | | | | | | | | | **电机PWM** | PWM11 | PC9 | TIM3CH4 | PA8 | TIM1CH1 | | | | PWM12 | PA8 | TIM1CH1 | PA9 | TIM1CH2 | | | | PWM21 | PC8 | TIM3CH3 | PA10 | TIM1CH3 | | | | PWM22 | PA10 | TIM1CH3 | PA11 | TIM1CH4 | | | | | | | | | | | **舵机** | SERVO2 | PB8 | TIM4CH3 | PB8 | TIM4CH3 | | | | SERVO1 | PB9 | TIM4CH4 | PB9 | TIM4CH4 | | | | | | | | | | | **OPENMV** | TX3 | PB6 | GPIO | PD5 | USART2TX | √ | | 未配置 | D6 | PB15 | GPIO | PD6 | USART2RX | √ | 注:上表原引脚名是原硬件原理图(V3.0及以下版本)中的引脚定义,与实际代码配置存在出入,F103ZET6采用144引脚的封装。 | 功能列表 | F4引脚名 | STM32F103RC/ET6 | 功能 | STM32F407VET6 | 功能 | 复用 | | ------------------ | -------- | --------------- | -------- | ------------- | -------- | ---- | | **前灰度12路** | AD4* | PA0-WKUP | ADCIN0 | PA0-WKUP | ADCIN0 | √ | | 连续多通道 | AD5* | PA1 | ADCIN1 | PA1 | ADCIN1 | √ | | 开启DMA | AD6* | PA2 | ADCIN2 | | | | | | AD7* | PA3 | ADCIN3 | | | | | 未配置 | AD8 | PA4 | ADCIN4 | PA4 | ADCIN4 | √ | | 未配置 | AD9 | PA5 | ADCIN5 | PA5 | ADCIN5 | √ | | 未配置 | AD10 | PA6 | ADCIN6 | | | | | 未配置 | AD11 | PA7 | ADCIN7 | | | | | | AD14* | PB0 | ADCIN8 | PB0 | ADC1IN8 | √ | | | AD15* | PB1 | ADCIN9 | PB1 | ADC1IN9 | √ | | | AD0* | PC0 | ADCIN10 | PC0 | ADC1IN10 | √ | | | AD1* | PC1 | ADCIN11 | PC1 | ADC1IN11 | √ | | | AD2* | PC2 | ADCIN12 | PC2 | ADC1IN12 | √ | | | AD3* | PC3 | ADCIN13 | PC3 | ADC1IN13 | √ | | | AD12* | PC4 | ADCIN14 | PC4 | ADC1IN14 | √ | | | AD13* | PC5 | ADCIN15 | PC5 | ADC1IN15 | √ | | | | | | | | | | **色标、撞针** | D0 | PB2 | GPIO | PE2 | GPIO | | | 上拉输入 | D1 | PB10 | GPIO | PE3 | GPIO | | | | D2 | PB11 | GPIO | PE4 | GPIO | | | | D3 | PB12 | GPIO | PE7 | GPIO | | | | D4 | PB13 | GPIO | PE8 | GPIO | | | | D5 | PB14 | GPIO | PE9 | GPIO | | | | | | | | | | | **激光** | D6 | PB3 | GPIO | PE10 | GPIO | | | 上拉输入 | D7 | PB4 | GPIO | PE11 | GPIO | | | | | | | | | | | **识别颜色传感器** | D8 | PA9 | GPIO | PE12 | GPIO | | | | | | | | | | | **sys6288/jq89** | TX3 | PC10 | USART3TX | PD8 | USART3TX | | | uart3 | RX3 | PC11 | USART3RX | PD9 | USART3RX | | | | | | | | | | | **陀螺仪** | TX5 | PC12 | USART5TX | PC12 | USART5TX | | | uart5 | RX5 | PD2 | USART5RX | PD2 | USART5RX | | | | | | | | | | | **蓝牙模块hc05** | TX4 | PC10 | USART3TX | PC10 | USART4TX | | | uart3(冲突) | RX4 | PC11 | USART3RX | PC11 | USART4RX | | | | | | | | | | | **串口屏** | TX1 | PB6 | USART1TX | PB6 | USART1TX | | | uart1 | RX1 | PB7 | USART1RX | PB7 | USART1RX | | | | | | | | | | | **蜂鸣器** | BEEP | PC15 | GPIO | PE13 | GPIO | | | **LED** | LED | PA15 | GPIO | PE14 | GPIO | | | | | | | | | | | **电机PWM** | PWM1-1 | PC9 | TIM3CH4 | PA8 | TIM1_CH1 | | | | PWM1-2 | PA8 | TIM1CH1 | PA9 | TIM1_CH2 | | | | PWM2-1 | PC8 | TIM3CH3 | PA10 | TIM1_CH3 | | | | PWM2-2 | PA10 | TIM1CH3 | PA11 | TIM1_CH4 | | | 电机控制引脚 | | | | PE15 | GPIO | | | | | | | | | | | **舵机** | SERVO1 | PB8 | TIM4CH3 | PE5 | TIM9_CH1 | | | | SERVO2 | PB9 | TIM4CH4 | PE6 | TIM9_CH2 | | | | | | | | | | | **OPENMV** | TX2 | PB6 | GPIO | PD5 | USART2TX | | | 未配置 | RX2 | PB15 | GPIO | PD6 | USART2RX | | | | | | | | | | | **AT24C02** | | | | PB10 | I2C2_SCL | | | 空闲 | | | | PB11 | I2C2_SDA | | | | | | | | | | | **电机编码器** | EC1-11 | | | PA2 | TIM2_CH3 | | | | EC1-12 | | | PA3 | TIM2_CH4 | | | | EC1-21 | | | PA6 | TIM3_CH1 | | | | EC1-22 | | | PA7 | TIM3_CH2 | | | | EC2-11 | | | PB8 | TIM4_CH3 | | | | EC2-12 | | | PB9 | TIM4_CH4 | | | | EC2-21 | | | PC8 | TIM8_CH3 | | | | EC2-22 | | | PC9 | TIM8_CH4 | | | | | | | | | | | **串口6** | | | | PC6 | USART6TX | | | 空闲 | | | | PC7 | USART6RX | | 注:F4引脚名为V4.0版本原理图所用的引脚名称 F4代码函数定义: SetSysClockTo168();//配置系统主频168Mhz USART3_bb_Init(u32 bound);//扬声器语音模块初始化函数,bound配置波特率9600 USART3_SendData(u8 data);//发送一个字节 USART3_SendChar(char c);//发送指定字节 USART3_SendString(u8 *DAT, u8 len);//发送指定字节 USART_SendData(UARTx,data);//发送数据,标准库函数 USART_ReceiveData(USART3);//接收数据,标准库函数 CopeSerial5Data(unsigned char ucData);//由串口5中断函数调用,用于实现陀螺仪数据解析 USART5_COMPASS_Init(u32 bound);//串口5陀螺仪初始化,bound 9600 CopeSerial3Data(unsigned char ucData);//调用下面一行函数,根据注释,串口5发数据给串口3(语音) UART5_Put_Char(unsigned char DataToSend);//开启串口5发送中断,发送数据,count与TXCounter的设置似乎没有必要? USART1_LCD_Init(uint32_t baudrate);串口LCD屏初始化,baudrate 9600 MarineRobot_menu(void);按钮初始化 HMI.....一堆与串口屏有关的代码 led_on(void);//亮灯 led_off(void);//关灯 Flash(int t,int n)//LED闪烁,t间隔时间,n闪烁次数 BEEP_Init(void);//蜂鸣器初始化 Beep(int t,int n)//蜂鸣器提示音,t间隔时间,n滴滴次数 TIM1_PWM_Init(u32 arr,u32 psc);//4个电机初始化,psc168 motor(int motorID, int speed) //speed:-100~100,ID:0 1 2 3,对应TIM CH1 2 3 4