Обновлены пины в проекте PY32F002A и в принципе описание всех пинов для B и A контроллера
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -48,3 +48,5 @@ JLinkLog.txt
|
|||||||
/MDK-ARM/DebugConfig/
|
/MDK-ARM/DebugConfig/
|
||||||
/MDK-ARM/Output/
|
/MDK-ARM/Output/
|
||||||
/~$ds18b20_locations.xlsx
|
/~$ds18b20_locations.xlsx
|
||||||
|
/~$PY32F002A_Pins.xlsx
|
||||||
|
/~$PY32F002B_Pins.xlsx
|
||||||
|
|||||||
BIN
PY32F002A_Pins.xlsx
Normal file
BIN
PY32F002A_Pins.xlsx
Normal file
Binary file not shown.
BIN
PY32F002B_Pins.xlsx
Normal file
BIN
PY32F002B_Pins.xlsx
Normal file
Binary file not shown.
@@ -22,8 +22,14 @@
|
|||||||
#include "onewire.h"
|
#include "onewire.h"
|
||||||
|
|
||||||
/* I/O Port ------------------------------------------------------------------*/
|
/* I/O Port ------------------------------------------------------------------*/
|
||||||
|
#ifdef PY32F002Bx5
|
||||||
#define DS_Pin GPIO_PIN_0
|
#define DS_Pin GPIO_PIN_0
|
||||||
#define DS_GPIO_Port GPIOB
|
#define DS_GPIO_Port GPIOB
|
||||||
|
#endif
|
||||||
|
#ifdef PY32F002Ax5
|
||||||
|
#define DS_Pin GPIO_PIN_3
|
||||||
|
#define DS_GPIO_Port GPIOA
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Data Structure ------------------------------------------------------------*/
|
/* Data Structure ------------------------------------------------------------*/
|
||||||
#define DS18B20_DEVICE_AMOUNT 30
|
#define DS18B20_DEVICE_AMOUNT 30
|
||||||
|
|||||||
@@ -8,6 +8,13 @@
|
|||||||
#include "onewire.h"
|
#include "onewire.h"
|
||||||
#include "tim.h"
|
#include "tim.h"
|
||||||
|
|
||||||
|
#ifdef PY32F002Bx5
|
||||||
|
#define PIN_NUMB 0
|
||||||
|
#endif
|
||||||
|
#ifdef PY32F002Ax5
|
||||||
|
#define PIN_NUMB 3
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The internal function is used as gpio pin mode
|
* @brief The internal function is used as gpio pin mode
|
||||||
* @param OW OneWire HandleTypedef
|
* @param OW OneWire HandleTypedef
|
||||||
@@ -18,11 +25,11 @@ void OneWire_Pin_Mode(OneWire_t* OW, PinMode Mode)
|
|||||||
#ifdef CMSIS_Driver
|
#ifdef CMSIS_Driver
|
||||||
if(Mode == Input)
|
if(Mode == Input)
|
||||||
{
|
{
|
||||||
OW->DataPort->MODER &= ~((GPIO_MODER_MODE0_Msk) << 0);
|
OW->DataPort->MODER &= ~((GPIO_MODER_MODE0_Msk) << PIN_NUMB);
|
||||||
OW->DataPort->MODER |= (GPIO_MODE_INPUT << (0+2));
|
OW->DataPort->MODER |= (GPIO_MODE_INPUT << (PIN_NUMB));
|
||||||
}else{
|
}else{
|
||||||
OW->DataPort->MODER &= ~((GPIO_MODER_MODE0_Msk) << 0);
|
OW->DataPort->MODER &= ~((GPIO_MODER_MODE0_Msk) << PIN_NUMB);
|
||||||
OW->DataPort->MODER |= (GPIO_MODE_OUTPUT_PP << 0);
|
OW->DataPort->MODER |= (GPIO_MODE_OUTPUT_PP << PIN_NUMB);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#ifdef LL_Driver
|
#ifdef LL_Driver
|
||||||
|
|||||||
@@ -39,6 +39,9 @@
|
|||||||
#define RS_TIM_DeInit HAL_TIM_Base_MspDeInit
|
#define RS_TIM_DeInit HAL_TIM_Base_MspDeInit
|
||||||
#define rs_huart huart1
|
#define rs_huart huart1
|
||||||
#define rs_htim htim14
|
#define rs_htim htim14
|
||||||
|
|
||||||
|
#define RS_EnableReceive() GPIOB->ODR |= GPIO_PIN_3
|
||||||
|
#define RS_EnableTransmit() GPIOB->ODR &= ~GPIO_PIN_3
|
||||||
/**
|
/**
|
||||||
* @brief Поменять комманды 0x03 и 0x04 местами (для LabView терминалки от двигателей)
|
* @brief Поменять комманды 0x03 и 0x04 местами (для LabView терминалки от двигателей)
|
||||||
* @details Терминалка от двигателей использует для чтения регистров комманду R_HOLD_REGS вместо R_IN_REGS
|
* @details Терминалка от двигателей использует для чтения регистров комманду R_HOLD_REGS вместо R_IN_REGS
|
||||||
|
|||||||
@@ -68,5 +68,15 @@ void MX_GPIO_Init(void)
|
|||||||
GPIOA->OSPEEDR |= (GPIO_SPEED_FREQ_LOW << GPIO_OSPEEDR_OSPEED1_Pos) |
|
GPIOA->OSPEEDR |= (GPIO_SPEED_FREQ_LOW << GPIO_OSPEEDR_OSPEED1_Pos) |
|
||||||
(GPIO_SPEED_FREQ_LOW << GPIO_OSPEEDR_OSPEED4_Pos) |
|
(GPIO_SPEED_FREQ_LOW << GPIO_OSPEEDR_OSPEED4_Pos) |
|
||||||
(GPIO_SPEED_FREQ_LOW << GPIO_OSPEEDR_OSPEED5_Pos);
|
(GPIO_SPEED_FREQ_LOW << GPIO_OSPEEDR_OSPEED5_Pos);
|
||||||
|
|
||||||
|
#ifdef PY32F002Bx5
|
||||||
|
/*Configure LED GPIO pin : PB3 (Receive Enable) */
|
||||||
|
/* Íàñòðîéêà ïèíîâ PA1, PA4, PA5 */
|
||||||
|
GPIOB->MODER &= ~(GPIO_MODER_MODE3);
|
||||||
|
GPIOB->MODER |= (GPIO_MODE_OUTPUT_PP << GPIO_MODER_MODE3_Pos);
|
||||||
|
GPIOB->PUPDR &= ~(GPIO_PUPDR_PUPD3);
|
||||||
|
GPIOB->PUPDR |= (GPIO_NOPULL << GPIO_PUPDR_PUPD3_Pos);
|
||||||
|
GPIOB->OSPEEDR |= (GPIO_SPEED_FREQ_HIGH << GPIO_OSPEEDR_OSPEED3_Pos);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/************************ (C) COPYRIGHT Puya *****END OF FILE******************/
|
/************************ (C) COPYRIGHT Puya *****END OF FILE******************/
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
|||||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||||
__HAL_RCC_USART1_CLK_ENABLE();
|
__HAL_RCC_USART1_CLK_ENABLE();
|
||||||
|
|
||||||
|
#ifdef PY32F002Bx5
|
||||||
/* GPIO initialization
|
/* GPIO initialization
|
||||||
PB04:TX,
|
PB04:TX,
|
||||||
PB05:RX
|
PB05:RX
|
||||||
@@ -89,6 +90,16 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
|||||||
GPIOB->OSPEEDR |= (GPIO_SPEED_FREQ_HIGH << GPIO_OSPEEDR_OSPEED5_Pos);
|
GPIOB->OSPEEDR |= (GPIO_SPEED_FREQ_HIGH << GPIO_OSPEEDR_OSPEED5_Pos);
|
||||||
GPIOB->AFR[0] &= ~(0xF << GPIO_AFRL_AFSEL5_Pos);
|
GPIOB->AFR[0] &= ~(0xF << GPIO_AFRL_AFSEL5_Pos);
|
||||||
GPIOB->AFR[0] |= (GPIO_AF1_USART1 << GPIO_AFRL_AFSEL5_Pos);
|
GPIOB->AFR[0] |= (GPIO_AF1_USART1 << GPIO_AFRL_AFSEL5_Pos);
|
||||||
|
#endif
|
||||||
|
#ifdef PY32F002Ax5
|
||||||
|
GPIOA->MODER &= ~GPIO_MODER_MODE10; // Î÷èñòèòü ñòàðóþ íàñòðîéêó äëÿ PA2
|
||||||
|
GPIOA->MODER |= GPIO_MODER_MODE10_1; // Óñòàíîâèòü ðåæèì àëüòåðíàòèâíîé ôóíêöèè (AF)
|
||||||
|
GPIOA->OTYPER |= GPIO_OTYPER_OT10; // Óñòàíîâèòü âûõîä â ðåæèìå Open-Drain
|
||||||
|
GPIOA->PUPDR &= ~GPIO_PUPDR_PUPD10; // Î÷èñòèòü ïîäòÿæêó
|
||||||
|
GPIOA->PUPDR |= GPIO_PUPDR_PUPD10_0; // Ïîäòÿæêà ââåðõ
|
||||||
|
GPIOA->AFR[1] &= ~(0xF << GPIO_AFRH_AFSEL10_Pos);
|
||||||
|
GPIOA->AFR[1] |= (GPIO_AF1_USART1 << GPIO_AFRH_AFSEL10_Pos);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* USART1 interrupt Init */
|
/* USART1 interrupt Init */
|
||||||
HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
|
HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
|
||||||
@@ -99,7 +110,6 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* USER CODE BEGIN 1 */
|
/* USER CODE BEGIN 1 */
|
||||||
|
|
||||||
/* USER CODE END 1 */
|
/* USER CODE END 1 */
|
||||||
|
|||||||
@@ -987,7 +987,7 @@
|
|||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>Drivers/PY32F002B_HAL_Driver</GroupName>
|
<GroupName>Drivers/PY32F002B_HAL_Driver</GroupName>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
@@ -1067,7 +1067,7 @@
|
|||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>Drivers/PY32F002A_HAL_Driver</GroupName>
|
<GroupName>Drivers/PY32F002A_HAL_Driver</GroupName>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
|
|||||||
Reference in New Issue
Block a user