STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
adc施密特触发器stm8
stm8l051f3 TSSOP20 封装,待机模式下,2天后,电流突然增加到140UA
STM8S用STVP烧录怎么加密?
如何使用ST官网例程_LIN总线通讯_STM8AF
STM8 LIN
IAR代码编辑太费劲了,想问一下有没有好的方法,试了VScode但是头文件老是报错,调了很久也没调好,想换个方法了。
想问一下各位大佬,IAR下载调试代码时出现 warning: is an illegal data sample expression IAR是什么意思啊?
STM8S标准库TIM1编码器功能不计数,请大师帮我看看
附串口代码:
GPIO_Init(TXD_GPIO_PORT, TXD_GPIO_PIN, GPIO_Mode_Out_PP_High_Fast);
GPIO_Init(RXD_GPIO_PORT, RXD_GPIO_PIN, GPIO_Mode_In_PU_No_IT);
CLK_PeripheralClockConfig(CLK_Peripheral_USART1, ENABLE); //时钟
SYSCFG_REMAPDeInit();
SYSCFG_REMAPPinConfig(REMAP_Pin_USART1TxRxPortC,ENABLE); //映射到PC5/PC6
USART_DeInit(USART1);
USART_Init(USART1, (uint32_t)9600, USART_WordLength_8b, USART_StopBits_1,
USART_Parity_No, (USART_Mode_TypeDef)(USART_Mode_Tx | USART_Mode_Rx));
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //接收中断
/* Enable USART */
USART_Cmd(USART1, ENABLE);
已将RX/TX短接,示波器看到波形,也就是之前说的发送没问题(在之前的工作中,外围设备已完全正确收到CPU发送的指令),发送采用的是查询发送模式。
短接后仍无法进入接收中断。且别的几个中断均能正常进入。
现在可以确定的是,端口复用功能配置、串口时钟、总中断、串口配置应该都没问题。
部分代码如下:
void USART_Config(void)
{
USART_DeInit(USART1);
CLK_PeripheralClockConfig(CLK_Peripheral_USART1, ENABLE); //开时钟
SYSCFG_REMAPDeInit();
SYSCFG_REMAPPinConfig(REMAP_Pin_USART1TxRxPortC,ENABLE); //复用PC5,PC6为串口
USART_Init(USART1, (uint32_t)9600, USART_WordLength_8b, USART_StopBits_1,
USART_Parity_No, USART_Mode_Tx|USART_Mode_Rx); GPIO_Init(TXD_GPIO_PORT, TXD_GPIO_PIN, GPIO_Mode_Out_PP_High_Fast); //高速推挽输出
GPIO_Init(RXD_GPIO_PORT, RXD_GPIO_PIN, GPIO_Mode_In_PU_No_IT); //
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //开接收中断
/* Enable USART */
USART_Cmd(USART1, ENABLE);
}
struct interrupt_vector const _vectab[] = {
{0x82, (interrupt_handler_t)_stext}, /* reset */
{0x82, (interrupt_handler_t)RTC_CSSLSE_IRQHandler}, /* irq4 - RTC/ CSS on LSE interrupt */
{0x82, (interrupt_handler_t)EXTI0_IRQHandler}, /* irq8 - External IT PIN0 interrupt */
{0x82, (interrupt_handler_t)USART1_RX_TIM5_CC_IRQHandler}, /* irq28 */
};
评分
查看全部评分
在STM32中用的NVIC吧。STM8我用的一直都是在interrupt_vector配置一下就OK了
昨晚看帖看迷糊了
新手上路,直接拿库函数操作比较容易上手,也就是在这个过程中一次次跳进STM8的坑....
有什么建议么?
评分
查看全部评分
我看你把struct interrupt_vector const _vectab[]里面没有用到的都删了,这个是中断向量表,没用到的也不能删吧,不过我没试过,你其他中断能正常用吗?还有就是中断服务函数INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)的第二个参数跟中断向量表是一致的你中断向量表里删了,这里对应上没。
评分
查看全部评分
关于删掉东西的问题,我专门测试过,别的中断都正常。应该没问题。而且我是粘贴这些代码时嫌没用的太多看着太乱才删掉的,之前是一直存在的。