各位大神,刚学STM8不久,公司用的是STM8L152R8这款,我使用的USART3串口,我的程序自己检查了好多遍,没发现是什么问题,但是无法收发。。。大家帮忙看看啊,在线等。。。
#include "stm8l15x.h"
#include "usart.h"
#include "clk.h"
#include "led.h"
int main( void )
{
//CLK_Config();
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_4);
LED_Init();
USART_Config();
enableInterrupts();
LED_POWER_ON();
while(1);
}
#include "stm8l15x_gpio.h"
#include "stm8l15x_usart.h"
//#include "stm8l15x_adc.h"
#include "usart.h"
void USART_Config(void)
{
//ADC_DeInit(ADC1);
//ADC_SchmittTriggerConfig(ADC1,ADC_Channel_24To27,ENABLE);
USART_DeInit(USART3);
USART_Init(USART3,
(uint32_t)1200,
USART_WordLength_8b,
USART_StopBits_1,
USART_Parity_No,
(USART_Mode_TypeDef)(USART_Mode_Tx | USART_Mode_Rx));
//USART_ClockInit( USART3,USART_Clock_Disable,USART_CPOL_Low,
// USART_CPHA_2Edge,USART_LastBit_Disable);
//enableInterrupts();
USART_ITConfig(USART3,USART_IT_RXNE,ENABLE);//接收中断
USART_ITConfig(USART3, USART_IT_TC, DISABLE);//禁止发送中断
USART_ITConfig(USART3, USART_IT_TXE, DISABLE);
//USART_HalfDuplexCmd(USART3,ENABLE);
CLK_PeripheralClockConfig(CLK_Peripheral_USART3, ENABLE);
GPIO_ExternalPullUpConfig(GPIOF, GPIO_Pin_0, ENABLE);
GPIO_ExternalPullUpConfig(GPIOF, GPIO_Pin_1, ENABLE);
GPIO_Init(GPIOF,GPIO_Pin_0,GPIO_Mode_Out_PP_High_Slow);//TX3
GPIO_Init(GPIOF,GPIO_Pin_1,GPIO_Mode_In_PU_No_IT);//RX3
USART_Cmd(USART3, ENABLE);
}
void USART3_SendByte(u8 data)
{
USART_SendData8(USART3,data);
/* Loop until the end of transmission */
while (USART_GetFlagStatus(USART3,USART_FLAG_TXE)== RESET);//发送完成
}
void USART3_SendString(u8* Data,u16 len)
{
u8 i=0;
for(;i<len;i++)
USART3_SendByte(Data);
}
u8 USART3_ReceiveByte(void)
{
u8 USART3_RX_BUF;
while (USART_GetFlagStatus(USART3,USART_FLAG_RXNE) == RESET);//接收寄存器接收到数据
USART3_RX_BUF=USART_ReceiveData8(USART3);
return USART3_RX_BUF;
}
下面是中断程序。。。
INTERRUPT_HANDLER(TIM3_CC_USART3_RX_IRQHandler,22)
{
u8 i;
LED_HUM_Toggle();
LED_ERROR_OFF();
i=USART3_ReceiveByte();
USART3_SendByte(++i);
//USART_ClearFlag(USART3,USART_FLAG_RXNE);
}
程序就是这样了,外围电路就是TX/RX加了上拉电阻,与PC端USB转串口的模块通讯,公地也是接好的,但是一直通不上,,,软件模拟根本不进中断,
大家帮忙看看啊。。谢谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>