打印

SD卡每次读完约512字节后进入中断?

[复制链接]
281|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我调用了文件系统,在main函数里面先打开一个txt文件,读取6个字节并按照功能进行转换,之后就使能定时器1,想要每次进入定时器中断后都从txt读取6个字节,并转换,通过SPI发送出去。但是发现每次读取一定数据后定时器中断进不了,因为我有片选线拉低和拉高,所以用示波器看到进过多次拉低和拉高的脉冲后,就没法进入了(此时txt并没有读完)。可能是什么原因呢?

main函数部分是这样的(已打开txt)
                                               usart4.printf("HAD OPEN\r\n");
                                                file_len = f_size(&file);
                                                usart4.printf("size: %d\r\n",file_len);
                                                f_read(&file,read_buffer,6,&counter);
        
                                                ASC2char(read_buffer);
                                                usart4.printf("start ADC\r\n");
                                                TIM1_Configuration();
                                                while(1)
                                                {}

定时器中断是这样的

void TIM1_UP_TIM10_IRQHandler(void)
{
if ( TIM_GetITStatus( TIM1, TIM_IT_Update) != RESET )
        {        
        TIM_ClearITPendingBit(TIM1 , TIM_IT_Update);
               
                SPI1_CS_OFF;
               
                send_data(dac_buffer[0]);
                send_data(dac_buffer[1]);
                send_data(dac_buffer[2]);
                SPI1_CS_ON;
               
                y++;
                if(y<(file_len/6))
                {
                f_read(&file,read_buffer,6,&counter);
                ASC2char(read_buffer);
                }
               
                else
                {
                        
                        f_lseek(&file,0);
               f_read(&file,read_buffer,6,&counter);
                   ASC2char(read_buffer);
                        y=0;
                }
               
        }
               
               
               
}

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

376

主题

377

帖子

0

粉丝