CubeMX加载X-CUBE-AI库以后 再新建工程进不去mcu选择界面
stm32cubemx的mode and configuration界面里的mode界面加载不出来,请问是什么问题?
在RS485通信中如何有效避免误码,距离5米,速率115200
STM32F103的USB的虚拟串口,串口助手打开的时候会收到两条数据,第一条数据是前5秒串口助手未打开时发送的,这怎么解决?
STM32G030死机问题
询问电源纹波对芯片的影响
stm32cubeMx生成stm32H743IIT6 cmake工程时全局变量自动定义到DTCM段
CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
STM32F103C8T6 上电后无法通过串口发出数据的问题?
STM32G431 用MCSDK5.4.8 进行PMSM永磁同步电机FOC控制,转速上升到某一值(3500rpm)无法继续上升,上不去
微信公众号
手机版
建议将此引脚悬空,测量输出方波,避免外部电路影响。
如不能输出,那么简单测量一下该引脚悬空状态下对GND 和 VDD的阻抗,粗略判断一下是否有损坏。
有条件的化,再换一片对比一下。
/* UART5 init function */
void MX_UART5_Init(void)
{
/* USER CODE BEGIN UART5_Init 0 */
/* USER CODE END UART5_Init 0 */
LL_USART_InitTypeDef USART_InitStruct = {0};
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
/* Peripheral clock enable */
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_UART5);
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOC);
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOD);
/**UART5 GPIO Configuration
PC12 ------> UART5_TX
PD2 ------> UART5_RX
*/
GPIO_InitStruct.Pin = LL_GPIO_PIN_12;
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.Pin = LL_GPIO_PIN_2;
GPIO_InitStruct.Mode = LL_GPIO_MODE_FLOATING;
LL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/* UART5 interrupt Init */
NVIC_SetPriority(UART5_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0));
NVIC_EnableIRQ(UART5_IRQn);
/* USER CODE BEGIN UART5_Init 1 */
/* USER CODE END UART5_Init 1 */
USART_InitStruct.BaudRate = 115200;
USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B;
USART_InitStruct.StopBits = LL_USART_STOPBITS_1;
USART_InitStruct.Parity = LL_USART_PARITY_NONE;
USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX_RX;
USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE;
LL_USART_Init(UART5, &USART_InitStruct);
LL_USART_ConfigAsyncMode(UART5);
LL_USART_Enable(UART5);
/* USER CODE BEGIN UART5_Init 2 */
LL_USART_EnableIT_RXNE(UART5);
LL_USART_EnableIT_IDLE(UART5);
/* USER CODE END UART5_Init 2 */
}
void UART5_SendDatas(uint8_t *data, uint8_t len)
{
uint16_t i = 0;
for(i = 0; i < len; i++)
{
while(LL_USART_IsActiveFlag_TC(UART5)!= 1);
LL_USART_TransmitData8(UART5, data[i]);
}
}
uint16_t UART5_RxIndex = 0;
uint16_t UART5_RxLen = 0;
uint8_t UART5_RxBuf[UART5_RxMax] = {0};
void MY_UART5_IRQHandler(void)
{
uint8_t temp = 0;
if(LL_USART_IsActiveFlag_IDLE(UART5))
{
LL_USART_ClearFlag_IDLE(UART5);
UART5_RxLen = UART5_RxIndex;
UART5_RxIndex = 0;
}
if(LL_USART_IsActiveFlag_RXNE(UART5))
{
LL_USART_ClearFlag_RXNE(UART5);
temp = LL_USART_ReceiveData8(UART5);
UART5_RxBuf[UART5_RxIndex] = temp;
UART5_RxIndex ++;
}
}
PD2只有0.1v左右,几乎没有。
你尝试将UART5映射到其他GPIO上试试,
1、有可能这个PD2打坏了,内部上下拉有问题
2、有可能UART5 RX那部分,打坏了
3、也有可能以上两种情况都有
板子上的PD2是直接引出来的,断电直接测了一下,对VDD的电阻1.8KΩ,对GND的电阻只有2.8Ω,其他的引脚对VDD和GDN都是MΩ级别的。
应该是引脚坏掉了。
测了一下,是引脚坏掉了
会的 单独坏掉IO 或者是出现IO正常AD功能用不了了,之前出现过问题