OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3250|回复: 2

SPI偏移量和该扇区问题,谢谢援助

[复制链接]

6

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2018-6-6
在线时间
28 小时
发表于 2018-7-31 14:12:11 | 显示全部楼层 |阅读模式
5金钱
  1,写入字节的长度/扇区大小(该sector大小)表示什么意思?
2,写入字节的长度%扇区大小(该sector大小)表示什么意思?

我看原子哥视频的时候,用的是    要写入的地址/扇区大小(该sector大小)  表示是哪个扇区
                                                  要写入的地址%扇区大小(该sector大小)  表示在该扇区偏移了多少

uint8_t sf_WriteBuffer(uint8_t* _pBuf, uint32_t _uiWriteAddr, uint16_t _usWriteSize)
{
        uint16_t NumOfPage = 0, NumOfSingle = 0, Addr = 0, count = 0, temp = 0;

        Addr = _uiWriteAddr % g_tSF.PageSize;                                //?ú??éè??£¨ò3£???ò?á??àéùμ??·?′ò3μ???ò?á? ?á11ì?3é?±±?á?ò3??μ?′óD?
        count = g_tSF.PageSize - Addr;                                           //??ò3£¨éè??£?ê£óàμ?????′óD?
        NumOfPage =  _usWriteSize / g_tSF.PageSize;
        NumOfSingle = _usWriteSize % g_tSF.PageSize;

        if (Addr == 0)                                                          /* ??????????  */
        {
                if (NumOfPage == 0)                                        /* ?????????? */
                {
                        if (sf_AutoWritePage(_pBuf, _uiWriteAddr, _usWriteSize) == 0)
                        {
                                return 0;
                        }
                }
                else                                                                  /* ???????????? */
                {
                        while (NumOfPage--)
                        {
                                if (sf_AutoWritePage(_pBuf, _uiWriteAddr, g_tSF.PageSize) == 0)
                                {
                                        return 0;
                                }
                                _uiWriteAddr +=  g_tSF.PageSize;
                                _pBuf += g_tSF.PageSize;
                        }
                        if (sf_AutoWritePage(_pBuf, _uiWriteAddr, NumOfSingle) == 0)
                        {
                                return 0;
                        }
                }
        }

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2018-6-6
在线时间
28 小时
 楼主| 发表于 2018-7-31 14:14:01 | 显示全部楼层
补充一句: !!!!      g_tSF.PageSize 这个是封装的 一个结构体,该结构体变量意思就是扇区的大小!!!!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-8-1 01:38:12 | 显示全部楼层
应该看SPI FLASH的数据手册,学习下SPI FLASH的编程方法。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-1 02:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表