• 大小: 4.54 MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-12-17
  • 语言: 其他
  • 标签: RT_GUI  RT_THREAD  STM32  

资源简介

经过了努力,查找了很多资料,终于可以利用STM32的SDIO操作文件系统读写了,但是发现为文件命名有问题,要熟悉rt_thread系统的可以上他官网下载说明书,地址:http://www.rt-thread.org/
算是对它的一个宣传吧。
这里我是修改了下速度擦人sdcard.c里的一些内容使他可以操作我的金士顿4GSD2.0卡。
目前是可以正常操作的,工作在四位总线24MHZ DMA模式。
在这里介绍下经验,很多操作没有反应是因为缺少了必要的延时,因为sd卡处理命令也是要时间的,单片机发送命令太快会使得它没有足够时间处理,所以我加入了必要的延时,于是就可以正常使用了,但是偶尔还是有些问题的,另外重命名问题我还得上论坛讨论下,呵呵。
最后鄙视下那些乱发资源的,明明是官方实例,很多卡都不能初始化就发出来,还有那些网页乱指导的,我是因为你们的误导才搞SD搞了一个星期。。强烈BS。。。。

资源截图

代码片段和文件信息

#include “stm32f10x.h“

#include “board.h“
#include “touch.h“
#include “setup.h“
#include 

#include 
#include 
#include 
#include 
#include 


/*
MISO PA6
MOSI PA7
CLK  PA5
CS   PC4
*/

#define   CS_0()          GPIO_ResetBits(GPIOCGPIO_Pin_4)
#define   CS_1()          GPIO_SetBits(GPIOCGPIO_Pin_4)

#define CSTOUCH_H GPIOB->BSRR=GPIO_Pin_0
#define CSTOUCH_L   GPIOB->BRR=GPIO_Pin_0 

#define GET_PEN_INT (GPIOB->IDR&GPIO_Pin_12)

/*
7  6 - 4  3      2     1-0
s  A2-A0 MODE SER/DFR PD1-PD0
*/
#define TOUCH_MSR_Y  0x90   //读X轴坐标指令 addr:1
#define TOUCH_MSR_X  0xD0   //读Y轴坐标指令 addr:3

struct rtgui_touch_device
{
    struct rt_device parent;

    rt_timer_t poll_timer;
    rt_uint16_t x y;

    rt_bool_t calibrating;
    rt_touch_calibration_func_t calibration_func;

    rt_uint16_t min_x max_x;
    rt_uint16_t min_y max_y;
};
static struct rtgui_touch_device *touch = RT_NULL;


unsigned char SPI_WriteByte(unsigned char data)
{
/* Loop while DR register in not emplty */
    while(SPI_I2S_GetFlagStatus(SPI2 SPI_I2S_FLAG_TXE) == RESET);

    /* Send byte through the SPI2 peripheral */
    SPI_I2S_SendData(SPI2 data);

    /* Wait to receive a byte */
    while(SPI_I2S_GetFlagStatus(SPI2 SPI_I2S_FLAG_RXNE) == RESET);

    /* Return the byte read from the SPI bus */
    return SPI_I2S_ReceiveData(SPI2);  
}
rt_inline void EXTI_Enable(rt_uint32_t enable);

//SPI写数据
static void WriteDataTo7843(unsigned char num)
{
    SPI_WriteByte(num);
}

#define X_WIDTH 240
#define Y_WIDTH 320

static void rtgui_touch_calculate()
{
    if (touch != RT_NULL)
    {
        unsigned int touch_hw_tmp_x[10];
        unsigned int touch_hw_tmp_y[10];
        unsigned int i;

        CSTOUCH_L;
        for(i=0; i<10; i++)
        {
            WriteDataTo7843(TOUCH_MSR_X);                                    /* read X */
            touch_hw_tmp_x[i] = SPI_WriteByte(0x00)<<8;                      /* read MSB bit[11:8] */
__nop();
            touch_hw_tmp_x[i] |= SPI_WriteByte(0x00);    /* read LSB bit[7:0] */
touch_hw_tmp_x[i] >>= 3;
WriteDataTo7843(TOUCH_MSR_Y); 
            touch_hw_tmp_y[i] = SPI_WriteByte(0x00)<<8;                      /* read MSB bit[11:8] */ 
__nop();
            touch_hw_tmp_y[i] |= SPI_WriteByte(0x00);           /* read LSB bit[7:0] */
touch_hw_tmp_y[i] >>= 3;
        }
        WriteDataTo7843( 1<<7 ); /* 打开中断 */
        CSTOUCH_H;


        {
            unsigned int temp_x = 0;
            unsigned int temp_y = 0;
            unsigned int max_x = 0;
            unsigned int min_x = 0xffff;
            unsigned int max_y = 0;
            unsigned int min_y = 0xffff;

            for(i=0; i<10; i++)
            {
                temp_x += touch_hw_tmp_x[i];
                temp_y += touch_hw_tmp_y[i];
               

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .......       579  2010-03-30 00:28  rtthread-0.3.0\AUTHORS

     文件       2386  2010-05-29 01:03  rtthread-0.3.0\bsp\stm3210\application.c

     文件       5813  2010-03-30 00:05  rtthread-0.3.0\bsp\stm3210\board.c

     文件       2184  2010-03-30 00:05  rtthread-0.3.0\bsp\stm3210\board.h

     文件      23508  2010-03-30 00:05  rtthread-0.3.0\bsp\stm3210\dm9000a.c

     文件       5212  2010-03-30 00:05  rtthread-0.3.0\bsp\stm3210\dm9000a.h

     文件      20588  2010-03-17 21:07  rtthread-0.3.0\bsp\stm3210\enc28j60.c

     文件      10797  2009-12-25 23:52  rtthread-0.3.0\bsp\stm3210\enc28j60.h

     文件       6804  2010-05-11 12:25  rtthread-0.3.0\bsp\stm3210\led.c

     文件        577  2009-12-25 23:52  rtthread-0.3.0\bsp\stm3210\led.h

     文件      17206  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\core_cm3.c

     文件      46533  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\core_cm3.h

     文件      15600  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\arm\startup_stm32f10x_cl.s

     文件      15872  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\arm\startup_stm32f10x_hd.s

     文件      12164  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\arm\startup_stm32f10x_ld.s

     文件      12564  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\arm\startup_stm32f10x_md.s

     文件      12917  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\gcc\startup_stm32f10x_cl.s

     文件      13560  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\gcc\startup_stm32f10x_hd.s

     文件       9830  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\gcc\startup_stm32f10x_ld.s

     文件      10340  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\gcc\startup_stm32f10x_md.s

     文件      16309  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\iar\startup_stm32f10x_cl.s

     文件      16709  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\iar\startup_stm32f10x_hd.s

     文件      12333  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\iar\startup_stm32f10x_ld.s

     文件      12594  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\startup\iar\startup_stm32f10x_md.s

     文件     593383  2010-05-17 04:06  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\stm32f10x.h

     文件      30622  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\system_stm32f10x.c

     文件       2404  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\CM3\system_stm32f10x.h

     文件      52463  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\Core\Documentation\CMSIS_Core.htm

     文件      39936  2009-10-17 06:47  rtthread-0.3.0\bsp\stm3210\Libraries\CMSIS\License.doc

     文件       1462  2009-11-19 18:58  rtthread-0.3.0\bsp\stm3210\Libraries\SConscript

............此处省略867个文件信息

评论

共有 条评论