资源简介
经过了努力,查找了很多资料,终于可以利用STM32的SDIO操作文件系统读写了,但是发现为文件命名有问题,要熟悉rt_thread系统的可以上他官网下载说明书,地址:http://www.rt-thread.org/
算是对它的一个宣传吧。
这里我是修改了下速度擦人sdcard.c里的一些内容使他可以操作我的金士顿4GSD2.0卡。
目前是可以正常操作的,工作在四位总线24MHZ DMA模式。
在这里介绍下经验,很多操作没有反应是因为缺少了必要的延时,因为sd卡处理命令也是要时间的,单片机发送命令太快会使得它没有足够时间处理,所以我加入了必要的延时,于是就可以正常使用了,但是偶尔还是有些问题的,另外重命名问题我还得上论坛讨论下,呵呵。
最后鄙视下那些乱发资源的,明明是官方实例,很多卡都不能初始化就发出来,还有那些网页乱指导的,我是因为你们的误导才搞SD搞了一个星期。。强烈BS。。。。
算是对它的一个宣传吧。
这里我是修改了下速度擦人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\SConsc
............此处省略867个文件信息
- 上一篇:通风网络解算程序 fortran90
- 下一篇:改进的BP神经网络算法
相关资源
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
- STM32的PCB封装库,以及原理图库,48
- SX1280.rar
- STM32 DS3231驱动.zip
- STM32F103C8T6+NRF24l01无线通信
- 21天学会嵌入式开发STM32.zip
- STM32 电子密码锁设计,LCD12864显示
- STM32 LCD12864并口驱动实验
- STM32:从菜鸟到牛人就是如此简单!
- 基于STM32F4x9的LCD显示
- VS1053B编解码器的VDR分布式声音采集卡
- stm32的DAC播放音乐文件
- STM32+TMC5160代码电路图.rar
- 基于STM32的深海钻机甲板控制系统
- stm32f103.SchDoc
评论
共有 条评论