本帖最后由 曾经in 于 2015-3-12 15:43 编辑
本来打算用DMA,但是遇到了个问题
先说说遇到的问题:
原地址寄存器和目标地址寄存器DMA0SA、DMA0DA都是SFR_20BIT类型的,不知道该怎么赋值
定义:
#define SFR_16BIT(address) extern volatile unsigned int address
typedef void (* __SFR_FARPTR)();//空返回值的函数指针
#define SFR_20BIT(address) extern __SFR_FARPTR address
SFR_20BIT(DMA0SA); /* DMA Channel 0 Source Address */
SFR_16BIT(DMA0SAL); /* DMA Channel 0 Source Address */
SFR_20BIT(DMA0DA); /* DMA Channel 0 Destination Address */
SFR_16BIT(DMA0DAL); /* DMA Channel 0 Destination Address */
官方例程:
用FR5967,改为5969一样会报错
__data16_write_addr((unsigned short) &DMA0SA,(unsigned long) 0x1C20);
// Source block address
__data16_write_addr((unsigned short) &DMA0DA,(unsigned long) 0x1C40);
// Destination single address
#770-D conversion from pointer to smaller integer
强制转换也报错
DMA0DA= (__SFR_FARPTR)&UCB0TXBUF;
#173-D invalid type conversion
、、、、、、、、、、、、、、、、、、、、、、、、分界线、、、、、、、、、、、、、、、、、、、、、、、、
实验内容:MSP430FR5969实现电子相册
实验目的:用MSP430FR5969读取SD卡显示24色BMP位图
实验过程:移植开源文件系统库,并完成符合移植要求的基于MSP430 SPI接口的SD卡初始化程序和扇区读写驱动。
在
这里可以下载到可移植的文件系统源码,大容量的MCU可以使用完整的
FatFs Module,小容量的单片机可以选择
Petit FatFs Module,
SD卡驱动和BMP位图程序则是用原子的例程进行修改,
按效果写main函数程序
实验效果:
初始化
开机遍历根目录文件名并显示
循环显示根目录下的BMP位图
实验材料:
实验过程:
STM32开发板
拿掉,只是用来外接出SD卡
背面
连线
程序:
FAT File.zip
(185.19 KB, 下载次数: 7)
Note:图片尺寸小于128*123,不喜欢清屏的效果所以显示小图片时屏幕其他地方还是之前的图案
显示效果: