2回答

1收藏

[原创] 【PSOC4】入门学习笔记9——flash读写

英飞凌 英飞凌 9242 人阅读 | 2 人回复 | 2013-11-24

本帖最后由 feiante 于 2013-11-24 14:37 编辑

试验目的:本试验主要完成flash的读写工作,基于原来的PWM-LED灯的试验,通过一个输入按键SW2来调节PWM的比较值控制LED灯的亮度,同时把PWM的比较值存储在flash中,如果系统上电或复位,读出flash里存储的PWM比较值的值并控制LED灯的显示。
试验步骤:
1、在原理图中放置一个PWM组件,一个时钟组件,一个数字量输入和一个数字量输出组件。(如图1.JPG所示)
2、配置PWM组件的初始周期为1000,比较值为500。配置输入管脚的初始状态为高电平。
3、在主程序中进行程序编写:
(1)、定义flash数组的字节大小,进行flash相关的定义。
       #define FLASH_ROW_SIZE_BYTES            128       #define FLASH_ALIGNED __attribute__ ((aligned (FLASH_ROW_SIZE_BYTES)))

       static const uint8 FLASH_ALIGNED flashRowDataFLASH[FLASH_ROW_SIZE_BYTES]={0};
       #define FLASH_DATA_BASE_ADDRESS_BYTE    (uint32) (&flashRowDataFLASH)
       #define FLASH_DATA_BASE_ADDRESS_ROW     FLASH_DATA_BASE_ADDRESS_BYTE / FLASH_ROW_SIZE_BYTES

       然后读flash里面的值(这个在for循环外面,主要是上电或复位时只执行一次)
        flashRowDataSRAM[0] = flashRowDataFLASH[0];
        flashRowDataSRAM[1] = flashRowDataFLASH[1];   
        PWMCompare=(flashRowDataSRAM[0]<<8) + flashRowDataSRAM[1];
        PWM_R_WriteCompare(PWMCompare);

       在for循环中进行按键检测同时将PWM的值写入flash中进行保存:
        if(!Pin_SW2_Read())                       /*按键检测*/
        {
            while(!Pin_SW2_Read())
            {              
               PWMCompare += 1;
                if (PWMCompare >=1000)
                {
                    PWMCompare = 0;
                }
                PWM_R_WriteCompare(PWMCompare);
                CyDelay(1);
            }
           flashRowDataSRAM[0] = PWMCompare>>8;               /*将PWM比较值存入flash中 */            flashRowDataSRAM[1] = PWMCompare&0x00ff;
            flashWriteResult = CySysFlashWriteRow(FLASH_DATA_BASE_ADDRESS_ROW, flashRowDataSRAM);

4、配置相应的管脚(LED配置为P1.6,SW2配置为P0.7)
5、程序下载后,通过按SW2,当LED灯显示很暗时,按复位或重新上电,LED灯显示会很暗,通过按SW2将LED灯调亮,按复位或程序上电时,LED灯显示会亮。

















1.JPG (66.61 KB, 下载次数: 98)

1.JPG
分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

党国特派员

发表于 2016-11-23 12:15:35 | 只看该作者

学习了学习了学习了
喜欢在构思妙想,电子产品DIY是工作,也是一种爱好。
板凳

feixiang20

发表于 2017-12-17 18:53:09 | 只看该作者

做个标记,有空学下
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条