初级会员
- 积分
- 74
- 金钱
- 74
- 注册时间
- 2018-10-6
- 在线时间
- 16 小时
|
楼主 |
发表于 2018-12-22 17:12:51
|
显示全部楼层
1>可以进中断函数
*******************************************************************************
* Function Name : USART4_IRQHandler
* Description : USART4中断处理函数
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void UART4_IRQHandler( void )
{
uint8_t dat = 0;
uint8_t j = 0;
//DUG_PRINTF( "*");
if( USART_GetITStatus( UART4, USART_IT_RXNE ) != RESET ) /* 串口接收到数据 */
{
USART_ClearITPendingBit( UART4, USART_IT_RXNE ); /* 清除USART4接收中断标志*/
/* 如果接收缓冲区溢出,则不装载;否则装载结束缓冲区中 */
if( RS485_2_Recv_Buf_LoadPtr < DEF_RS485_BUF_LEN )
{
DUG_PRINTF("DEF_RS485_BUF_LEN:%d",DEF_RS485_BUF_LEN);
dat = ( UINT8 )USART_ReceiveData( UART4 );
RS485_2_Recv_Buf[RS485_2_Recv_Buf_LoadPtr++]=dat;
2>>>>
写一个接收函数
void UART4_Receive(void)
{
volatile uint8_t dat = 0;
volatile uint8_t i = 0;
int j;
int k;
uint8_t receive[100];
j = 0;
k=0;
//
// for(j=0;j<512;j++)
// {
// while(!(USART_GetITStatus( UART4, USART_IT_RXNE ) != RESET));
//
//
// dat = ( UINT8 )USART_ReceiveData( UART4 );
// RS485_2_Recv_Buf[j]=dat;
// }
|
|