
请问 cubemx 有计划支持生成基于 ATfE 编译器的 cmake 项目吗
stm32编码器模式计数问题
工程移植都有哪些需要注意的地方?
关于使用cubemx配置stm32g473re的opamp工作模式:Programmable gain amplifier mode with external filtering
关于ASM330LHH TR调试中的问题
STM32IDE如何设定代码到ITCM中运行。
STM32N6570-DK开发板,哪里还有卖的?
STM32的DCode bus是连接到bus matrix的吗?参考手册描述和图片是不符吗?
STM32H7R7 CubeMX无配置问题
如何解决用CubeMX生成代码时会将main.c文件中的汉字变成乱码的问题?
建议将此引脚悬空,测量输出方波,避免外部电路影响。
如不能输出,那么简单测量一下该引脚悬空状态下对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Ω级别的。
应该是引脚坏掉了。
测了一下,是引脚坏掉了