LPC1788FBD208 SDRAM型号S42S32200N-7TL

LPC1788FBD208 SDRAM型号S42S32200N-7TL

官方IDE

#include "chip.h"

// 定义SDRAM基地址
#define SDRAM_BASE_ADDR 0xA0000000

// 定义SDRAM参数
IP_EMC_DYN_CONFIG_T Dynamic_Config = {
    .RefreshPeriod = 64,  // 刷新周期
    .tRP = 20,            // tRP 值
    .tRAS = 45,           // tRAS 值
    // 其他时序参数根据SDRAM型号规格进行设置
    // 请根据S42S32200N-7TL的具体规格进行调整
};

// SDRAM初始化函数
void SDRAM_Init(void) {
    // 初始化EMC时钟
    Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_EMC);

    // 初始化EMC
    Chip_EMC_Init(1, 1, 0);  // 启用EMC,设置时钟比率为1:1,端序模式为小端序

    // 动态内存初始化
    Chip_EMC_Dynamic_Init(&Dynamic_Config);

    // 启用动态内存控制器
    Chip_EMC_Dynamic_Enable(1);
}

int main(void) {
    // 初始化SDRAM
    SDRAM_Init();

    while (1) {
        uint16_t kk;
        *(uint16_t *)(SDRAM_BASE_ADDR + 1 * sizeof(uint16_t)) = 0xF800;  // 设置为红色 (RGB565 格式)
        kk = *(uint16_t *)(SDRAM_BASE_ADDR + 1 * sizeof(uint16_t));
        if (kk == 0xF800) {
            // 如果读取的值与设置的红色值相同,则说明SDRAM正常
            // 在这里可以添加相应的处理代码
            // 例如点亮LED等操作
            // Chip_GPIO_SetPinState(LPC_GPIO, 1, 18, false);
        }
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值