資源簡(jiǎn)介
rikirobot_stm32-keil.zip

代碼片段和文件信息
#include?“hardwareserial.h“
#include?“interrupt.h“
USART_TypeDef*??SERIAL_USART[SERIALn]?=?{RIKI_SERIAL1?RIKI_SERIAL2?RIKI_SERIAL3};
GPIO_TypeDef*???SERIAL_PORT[SERIALn]?=?{RIKI_SERIAL1_GPIO_PORT?RIKI_SERIAL2_GPIO_PORT?RIKI_SERIAL3_GPIO_PORT};?
const?uint32_t??SERIAL_USART_CLK[SERIALn]?=?{RIKI_SERIAL1_CLK?RIKI_SERIAL2_CLK?RIKI_SERIAL3_CLK};
const?uint32_t??SERIAL_PORT_CLK[SERIALn]?=?{RIKI_SERIAL1_GPIO_CLK?RIKI_SERIAL2_GPIO_CLK?RIKI_SERIAL3_GPIO_CLK};
const?uint16_t??SERIAL_TX_PIN[SERIALn]?=?{RIKI_SERIAL1_TX_PIN?RIKI_SERIAL2_TX_PIN?RIKI_SERIAL3_TX_PIN};?
const?uint16_t??SERIAL_RX_PIN[SERIALn]?=?{RIKI_SERIAL1_RX_PIN?RIKI_SERIAL2_RX_PIN?RIKI_SERIAL2_RX_PIN};?
const?uint16_t??SERIAL_IRQn[SERIALn]?=?{RIKI_SERIAL1_IRQ?RIKI_SERIAL2_IRQ?RIKI_SERIAL3_IRQ};
const?uint16_t??SERILA_NVIC[SERIALn]?=?{RIKI_SERIAL1_NVIC?RIKI_SERIAL2_NVIC?RIKI_SERIAL3_NVIC};
?????????
HardwareSerial::HardwareSerial(Serial_TypeDef?_Serial)
{
Serial?=?_Serial;
if(this->Serial?==?SERIAL1)
Serial1?=?this;
if(this->Serial?==?SERIAL2)
Serial2?=?this;
if(this->Serial?==?SERIAL3)
Serial3?=?this;
}
void?HardwareSerial::begin(uint32_t?baud)
{
GPIO_InitTypeDef??GPIO_InitStructure;
USART_InitTypeDef?USART_InitStructure;
NVIC_InitTypeDef??NVIC_InitStructure;
??
if(this->Serial?==?SERIAL1)?{
RCC_APB2PeriphClockCmd(SERIAL_USART_CLK[this->Serial]|SERIAL_PORT_CLK[this->Serial]?ENABLE);
}?else?{
RCC_APB1PeriphClockCmd(SERIAL_USART_CLK[this->Serial]?ENABLE);?
RCC_APB2PeriphClockCmd(SERIAL_PORT_CLK[this->Serial]?ENABLE);?
}
//USART_TX???
GPIO_InitStructure.GPIO_Pin?=?SERIAL_TX_PIN[this->Serial];???????? ?
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz; ?//50MHz
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AF_PP; ? ?
GPIO_Init(SERIAL_PORT[this->Serial]?&GPIO_InitStructure);
//USART_RX ?
GPIO_InitStructure.GPIO_Pin?=?SERIAL_RX_PIN[this->Serial];???????????
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IN_FLOATING;?
GPIO_Init(SERIAL_PORT[this->Serial]?&GPIO_InitStructure);??
USART_InitStructure.USART_BaudRate ?=?baud;
USART_InitStructure.USART_WordLength?=?USART_WordLength_8b;
USART_InitStructure.USART_StopBits? ?=?USART_StopBits_1;
USART_InitStructure.USART_Parity ?=?USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl?=?USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode?=?USART_Mode_Rx?|?USART_Mode_Tx;
USART_Init(SERIAL_USART[this->Serial]?&USART_InitStructure);?
NVIC_InitStructure.NVIC_IRQChannel?=?SERIAL_IRQn[this->Serial];???????
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;?
NVIC_InitStructure.NVIC_IRQChannelSubPriority?=?SERILA_NVIC[this->Serial];
NVIC_InitStructure.NVIC_IRQChannelCmd?=?ENABLE;
NVIC_Init(&NVIC_InitStructure); ???
USART_ITConfig(SERIAL_USART[this->Serial]?USART_IT_RXNE?ENABLE);
USART_Cmd(SERIAL_USART[this->Serial]?ENABLE);
}
uint32_t?HardwareSerial::available(void)
{
return?(uint32_t)(SERIAL_BUFFER_SIZE?+?rx_buffer._iHead?-?rx_buffer._iTail)?%?
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-28?05:11??rikirobot_stm32-keil\
?????文件?????????119??2018-05-28?05:11??rikirobot_stm32-keil\.gitignore
?????目錄???????????0??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\
?????文件????????1393??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\RingBuffer.cpp
?????文件????????1353??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\RingBuffer.h
?????文件????????5926??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\Wire.cpp
?????文件????????3320??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\Wire.h
?????文件????????4208??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\Wireba
?????文件????????4673??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\Wireba
?????文件????????5685??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\config.h
?????文件????????4187??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\hardwareserial.cpp
?????文件?????????479??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\hardwareserial.h
?????文件?????????435??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\interrupt.cpp
?????文件?????????446??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\interrupt.h
?????文件?????????453??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\millisecondtimer.c
?????文件?????????279??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\millisecondtimer.h
?????文件????????5649??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\ring_buffer.h
?????文件?????????172??2018-05-28?05:11??rikirobot_stm32-keil\Bsp\round.h
?????目錄???????????0??2018-05-28?05:11??rikirobot_stm32-keil\Driver\
?????文件????????2333??2018-05-28?05:11??rikirobot_stm32-keil\Driver\Kinematics.cpp
?????文件?????????909??2018-05-28?05:11??rikirobot_stm32-keil\Driver\Kinematics.h
?????文件?????????742??2018-05-28?05:11??rikirobot_stm32-keil\Driver\PID.cpp
?????文件?????????517??2018-05-28?05:11??rikirobot_stm32-keil\Driver\PID.h
?????文件????????2414??2018-05-28?05:11??rikirobot_stm32-keil\Driver\battery.cpp
?????文件?????????359??2018-05-28?05:11??rikirobot_stm32-keil\Driver\battery.h
?????文件????????2729??2018-05-28?05:11??rikirobot_stm32-keil\Driver\encoder.cpp
?????文件?????????488??2018-05-28?05:11??rikirobot_stm32-keil\Driver\encoder.h
?????文件????????4090??2018-05-28?05:11??rikirobot_stm32-keil\Driver\gy85.cpp
?????文件????????1962??2018-05-28?05:11??rikirobot_stm32-keil\Driver\gy85.h
?????文件?????????508??2018-05-28?05:11??rikirobot_stm32-keil\Driver\led.cpp
?????文件?????????136??2018-05-28?05:11??rikirobot_stm32-keil\Driver\led.h
............此處省略539個(gè)文件信息
評(píng)論
共有 條評(píng)論