STM8S207_UART1串口发送中断程序
2个回答
展开全部
void CLK_INIT(void)
{
CLK_CKDIVR = 0x19; /*HSI/8、CPU = 2/2,1M速度*/
CLK_PCKENR1 = 0x04; /*只开启uart1的时钟*/
CLK_PCKENR2 = 0x00; /*打开ADC的时钟*/
}
void IO_INIT(void)
{
PA_CR1 = 0x00; /*推挽输出*/
PA_CR2 = 0x00; /*最大输出为2MHZ,禁止外部中断*/
PA_DDR |= 0x20; /*PA5为输出*/
}
void UART1_INIT(void)
{
UART1_BRR2 = 0x00;
UART1_BRR1 = 0x0d; /*2M的Fmaster下9600的波特率*/
UART1_DR = 0xaa;
UART1_CR2 = 0x08; /*发送完寄存器空,发送使能*/
UART1_CR3 = 0x00; /*1个停止位*/
}
#pragma vector = UART1_T_TXE_vector
__interrupt __root void UART1_TX(void)
{
UART1_SR = 0x00;
UART1_DR = 0xaa;
}
只作为参考,希望对您有帮助,谢谢!
{
CLK_CKDIVR = 0x19; /*HSI/8、CPU = 2/2,1M速度*/
CLK_PCKENR1 = 0x04; /*只开启uart1的时钟*/
CLK_PCKENR2 = 0x00; /*打开ADC的时钟*/
}
void IO_INIT(void)
{
PA_CR1 = 0x00; /*推挽输出*/
PA_CR2 = 0x00; /*最大输出为2MHZ,禁止外部中断*/
PA_DDR |= 0x20; /*PA5为输出*/
}
void UART1_INIT(void)
{
UART1_BRR2 = 0x00;
UART1_BRR1 = 0x0d; /*2M的Fmaster下9600的波特率*/
UART1_DR = 0xaa;
UART1_CR2 = 0x08; /*发送完寄存器空,发送使能*/
UART1_CR3 = 0x00; /*1个停止位*/
}
#pragma vector = UART1_T_TXE_vector
__interrupt __root void UART1_TX(void)
{
UART1_SR = 0x00;
UART1_DR = 0xaa;
}
只作为参考,希望对您有帮助,谢谢!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#pragma vector=1
__interrupt void TRAP_IRQHandler(void)
{
}
#pragma vector=2
__interrupt void TLI_IRQHandler(void)
{
}
#pragma vector=3
__interrupt void AWU_IRQHandler(void)
{
}
#pragma vector=4
__interrupt void CLK_IRQHandler(void)
{
}
#pragma vector=5
__interrupt void EXTI_PORTA_IRQHandler(void)
{
}
#pragma vector=6
__interrupt void EXTI_PORTB_IRQHandler(void)
{
}
#pragma vector=7
__interrupt void EXTI_PORTC_IRQHandler(void)
{
}
#pragma vector=8
__interrupt void EXTI_PORTD_IRQHandler(void)
{
}
#pragma vector=9
__interrupt void EXTI_PORTE_IRQHandler(void)
{
}
#ifdef STM8S903
#pragma vector=0xA
__interrupt void EXTI_PORTF_IRQHandler(void)
{
}
#endif
#ifdef STM8S208
#pragma vector=0xA
__interrupt void CAN_RX_IRQHandler(void)
{
}
#pragma vector=0xB
__interrupt void CAN_TX_IRQHandler(void)
{
}
#endif
#pragma vector=0xC
__interrupt void SPI_IRQHandler(void)
{
}
#pragma vector=0xD
__interrupt void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void)
{
CleT1UPF;
PDODR->bit3=(~PDODR->bit3);
}
#pragma vector=0xE
__interrupt void TIM1_CAP_COM_IRQHandler(void)
{
}
#ifdef STM8S903
#pragma vector=0xF
__interrupt void TIM5_UPD_OVF_BRK_TRG_IRQHandler(void)
{
}
#pragma vector=0x10
__interrupt void TIM5_CAP_COM_IRQHandler(void)
{
}
#else
#pragma vector=0xF
__interrupt void TIM2_UPD_OVF_BRK_IRQHandler(void)
{
}
#pragma vector=0x10
__interrupt void TIM2_CAP_COM_IRQHandler(void)
{
}
#endif
#if defined (STM8S208) || defined(STM8S207) || defined(STM8S105)
#pragma vector=0x11
__interrupt void TIM3_UPD_OVF_BRK_IRQHandler(void)
{
}
#pragma vector=0x12
__interrupt void TIM3_CAP_COM_IRQHandler(void)
{
}
#endif
#ifndef STM8S105
#pragma vector=0x13
__interrupt void UART1_TX_IRQHandler(void)
{
}
#pragma vector=0x14
__interrupt void UART1_RX_IRQHandler(void)
{
}
#endif
#pragma vector=0x15
__interrupt void I2C_IRQHandler(void)
{
}
#ifdef STM8S105
#pragma vector=0x16
__interrupt void UART2_TX_IRQHandler(void)
{
}
#pragma vector=0x17
__interrupt void UART2_RX_IRQHandler(void)
{
}
#endif
#if defined(STM8S207) || defined(STM8S208)
#pragma vector=0x16
__interrupt void UART3_TX_IRQHandler(void)
{
}
#pragma vector=0x17
__interrupt void UART3_RX_IRQHandler(void)
{
}
#endif
#if defined(STM8S207) || defined(STM8S208)
#pragma vector=0x18
__interrupt void ADC2_IRQHandler(void)
{
}
#else
#pragma vector=0x18
__interrupt void ADC1_IRQHandler(void)
{
}
#endif
#ifdef STM8S903
#pragma vector=0x19
__interrupt void TIM6_UPD_OVF_TRG_IRQHandler(void)
{
}
#else
#pragma vector=0x19
__interrupt void TIM4_UPD_OVF_IRQHandler(void)
{
}
#endif
#pragma vector=0x1A
__interrupt void EEPROM_EEC_IRQHandler(void)
{
}
__interrupt void TRAP_IRQHandler(void)
{
}
#pragma vector=2
__interrupt void TLI_IRQHandler(void)
{
}
#pragma vector=3
__interrupt void AWU_IRQHandler(void)
{
}
#pragma vector=4
__interrupt void CLK_IRQHandler(void)
{
}
#pragma vector=5
__interrupt void EXTI_PORTA_IRQHandler(void)
{
}
#pragma vector=6
__interrupt void EXTI_PORTB_IRQHandler(void)
{
}
#pragma vector=7
__interrupt void EXTI_PORTC_IRQHandler(void)
{
}
#pragma vector=8
__interrupt void EXTI_PORTD_IRQHandler(void)
{
}
#pragma vector=9
__interrupt void EXTI_PORTE_IRQHandler(void)
{
}
#ifdef STM8S903
#pragma vector=0xA
__interrupt void EXTI_PORTF_IRQHandler(void)
{
}
#endif
#ifdef STM8S208
#pragma vector=0xA
__interrupt void CAN_RX_IRQHandler(void)
{
}
#pragma vector=0xB
__interrupt void CAN_TX_IRQHandler(void)
{
}
#endif
#pragma vector=0xC
__interrupt void SPI_IRQHandler(void)
{
}
#pragma vector=0xD
__interrupt void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void)
{
CleT1UPF;
PDODR->bit3=(~PDODR->bit3);
}
#pragma vector=0xE
__interrupt void TIM1_CAP_COM_IRQHandler(void)
{
}
#ifdef STM8S903
#pragma vector=0xF
__interrupt void TIM5_UPD_OVF_BRK_TRG_IRQHandler(void)
{
}
#pragma vector=0x10
__interrupt void TIM5_CAP_COM_IRQHandler(void)
{
}
#else
#pragma vector=0xF
__interrupt void TIM2_UPD_OVF_BRK_IRQHandler(void)
{
}
#pragma vector=0x10
__interrupt void TIM2_CAP_COM_IRQHandler(void)
{
}
#endif
#if defined (STM8S208) || defined(STM8S207) || defined(STM8S105)
#pragma vector=0x11
__interrupt void TIM3_UPD_OVF_BRK_IRQHandler(void)
{
}
#pragma vector=0x12
__interrupt void TIM3_CAP_COM_IRQHandler(void)
{
}
#endif
#ifndef STM8S105
#pragma vector=0x13
__interrupt void UART1_TX_IRQHandler(void)
{
}
#pragma vector=0x14
__interrupt void UART1_RX_IRQHandler(void)
{
}
#endif
#pragma vector=0x15
__interrupt void I2C_IRQHandler(void)
{
}
#ifdef STM8S105
#pragma vector=0x16
__interrupt void UART2_TX_IRQHandler(void)
{
}
#pragma vector=0x17
__interrupt void UART2_RX_IRQHandler(void)
{
}
#endif
#if defined(STM8S207) || defined(STM8S208)
#pragma vector=0x16
__interrupt void UART3_TX_IRQHandler(void)
{
}
#pragma vector=0x17
__interrupt void UART3_RX_IRQHandler(void)
{
}
#endif
#if defined(STM8S207) || defined(STM8S208)
#pragma vector=0x18
__interrupt void ADC2_IRQHandler(void)
{
}
#else
#pragma vector=0x18
__interrupt void ADC1_IRQHandler(void)
{
}
#endif
#ifdef STM8S903
#pragma vector=0x19
__interrupt void TIM6_UPD_OVF_TRG_IRQHandler(void)
{
}
#else
#pragma vector=0x19
__interrupt void TIM4_UPD_OVF_IRQHandler(void)
{
}
#endif
#pragma vector=0x1A
__interrupt void EEPROM_EEC_IRQHandler(void)
{
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询