大家好。我刚认识 Touch Gfx,我是一名学生。
我想在滚动列表中显示我保存在 qspi flash 的第一个扇区中的列表
但我无法达到某种结果
我自己保留了闪存的前 2mb
- /* Memories definition */
- MEMORY
- {
- RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 256K
- FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
- QSPI (r) : ORIGIN = 0x90200000, LENGTH = 14M
- }
- // ***** readTable.h ****
- class readTable
- {
- public:
- void kategorisayisi (); // reading and extracting data from flash
- char * RitimIsmiGonder(int no); //for ScrollRitimUpdateItem call
- private:
- char * ritimListesi[121]; // The array I want to send to the scrollist widget
- }
- };
我在一个名为 readTable 的类中进行读取、提取和发送。
- // readTable.cpp
- uint16_t sizem = 1000;
- volatile char *externalFlash =( char * ) 0x90000000;
- char data[1000];
- char delim[] = "rn";
- void readTable::kategorisayisi()
- {
- for(uint16_t i = 0; i < sizem; i++)
- {
- data = externalFlash; //dump form extFlash
- }
- char *ptr = strtok(data, delim); // sorting process
- for(int i=0;i<121;i++)
- {
- ritimListesi=ptr; // transfer fragmented data to array
- ptr = strtok(NULL, delim);
- }
- }
- char * readTable::RitimIsmiGonder(int no)
- {
- return ritimListesi[no]; //Array element returning for ScrollRitimUpdateItem call
- }
- // **** scrollist CustomContainer *****
- #include
- #include "readTable.hpp"
- RitimIsimleriLCont::RitimIsimleriLCont()
- {
- }
- readTable rt;
- void RitimIsimleriLCont::initialize()
- {
- RitimIsimleriLContBase::initialize();
- }
- void RitimIsimleriLCont::setNumber(uint8_t no)
- {
- Unicode::strncpy(RitimlerBuffer ,( const char *)t.RitimIsmiGonder(no) ,10 ); // Calling my list array element
- }
毕竟,我在滚动列表中看不到任何东西(有时看到'?'字符)
我可以在调试程序时遵循它。
但过了一会儿我失去了所有的价值。
我在哪里犯了错误?从外面看的眼睛会对我有很大帮助。