OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4062|回复: 2

陀螺仪连接上单片机后,一直发送数据就回一直在我的中断中

[复制链接]

2

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2018-10-6
在线时间
16 小时
发表于 2018-12-19 15:07:05 | 显示全部楼层 |阅读模式
我的jy901陀螺仪连接上单片机后,陀螺仪一直发送数据,这样就一直进入我的中断,那我其他的进程就没法工作了,请问有什么方法解决吗
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2018-10-6
在线时间
16 小时
 楼主| 发表于 2018-12-22 17:11:29 | 显示全部楼层
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
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;
//         }
       
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 22:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表