激情综合丁香-激情综合六月-激情综合婷婷亚洲图片-激情综合图区-激情综合网五月


主題:EM9287利用SPI總線配置SSD1322的OLED屏

  共有45305人關注過本帖    
帥哥喲,離線,有人找我嗎?
MS
1樓 信息 | 搜索 | 郵箱


加好友 發短信
EM9287利用SPI總線配置SSD1322的OLED屏  發帖心情 Post By:2015-8-7 14:51:00   [只看該作者]

當利用EM9287的SPI總線配置SSD1322時,wince調用上層API讀寫SSD1322時,循環1萬多次讀寫發現數據傳輸速度過慢,從而導致OLED屏刷屏過慢(SPI總線需要對SSD1322進行1萬多次讀寫RAM才能刷屏)。

 

 

請問:是不是因為當上層應用程序調用WINCE里的SPI驅動的讀寫函數速度過慢導致的,SPI總線雖然可達10MHz頻率,但事實上調用API函數之后的讀寫速度大大降低,遠遠沒有10MHz的速率。

請問:是否可以改進SPI的讀寫驅動,提高讀寫速率?


  單帖管理 | 引用 | 回復 回到頂部
客人
2樓


  發帖心情 Post By:2015-8-7 17:06:00   [只看該作者]

EM9287的SPI最高可以20Mbps的波特率進行數據傳輸,且可以實驗多字節數據DMA傳輸,所以按理不應該慢。請試試DMA方式通訊

可以參考這個鏈接  http://www.huochepiao123.com.cn/case/case2014673.html

注:該方法是WinCE6.0系統上有效,不適用與linux系統,請確認你的系統是否是CE,如果是,則可以參考

  單帖管理 | 引用 | 回復 回到頂部
x10
3樓


  發帖心情 Post By:2015-8-8 8:26:00   [只看該作者]

應當用DeviceIoControl的多數據結塊的tranfer方式,效率就很高。在Linux版本肯定是支持這個模式的,CE6我要查一下,如果沒有支持,我們會盡快加上。請留一個能的郵箱,以便我們發新內核給你,謝謝!

  單帖管理 | 引用 | 回復 回到頂部
帥哥喲,離線,有人找我嗎?
MS
4樓 信息 | 搜索 | 郵箱


加好友 發短信
  發帖心情 Post By:2015-8-10 9:48:00   [只看該作者]

您好,請問DeviceIoControl多數據結塊的Transfer方式怎么用?還有您查了wince6.0支持該傳輸方式嗎?

 

 

 

我的郵箱:njutjl@126.com    謝謝!


  單帖管理 | 引用 | 回復 回到頂部
zxw
5樓


  發帖心情 Post By:2015-8-10 11:27:00   [只看該作者]

你好!
CE6系統支持這種讀寫方式,給你的網頁連接中也說過該方式的使用方法。
在光盤中的EM9280_SPIDemo例子程序中也有代碼可以參考
你的郵件中,我把SPI應用方法的文章也再次發給你了,可以先看看。具體那里不清楚,可以提的更明確一些更好!

混合型SPI操作需要用到以下數據結構: 
  typedef struct _SPITransfer 
  { 
    LPVOID pTxBuff; // SPI發送buffer指針 
    LPVOID pRxBuff; // SPI接收buffer指針 
    DWORD dwBufLength; // 本次SPI傳輸的字節數 
  } SPITransfer;

 

  pTxBuff:SPI輸出數據BUFF指針 
  pRxBuff:SPI讀入數據BUFF指針 
  dwBufLength:SPI數據傳輸長度,以字節為單位

 

  注意,EM9280的SPI接口僅支持半雙工操作,因此在上述結構中,只能有一個buffer指針為有效指針,另一個必須為NULL。dwBufLength的定義與單向讀寫的定義一致。具體的傳輸是通過DeviceIoControl來實現的,舉例說明,本例首先進行發送1個字節(8-bit SPI),然后接收2個字節。

 

  SPITransfer Trans[2]; 
  BYTE Tx[16], Rx[16]; // buffer足夠大 

  Tx[0] = 0xE5; // 發送的字節 
  Trans[0].pTxBuf = Tx; 
  Trans[0].pRxBuf = NULL; 
  Trans[0].dwBufLength = 1; // 要發送1字節 
  Trans[1].pTxBuf = NULL; 
  Trans[1].pRxBuf = Rx; 
  Trans[1].dwBufLength = 2; // 要接收2字節 

  DeviceIoControl(hSPI, 
    SPI_IOCTL_EXCHANGE, 
    Trans, // in buffer 
    sizeof(Trans) , // in buffer size 
    NULL, 
    0, 
    NULL, 
    NULL))

 

  在上述調用中需要注意的是,DeviceIoControl()輸入參數中的buffer長度必須是數據結構SPITransfer大小的整倍數,否則將被視作無效參數。


  單帖管理 | 引用 | 回復 回到頂部

返回首頁

EM9287利用SPI總線配置SSD1322的OLED屏

用戶名:
            驗證碼: 驗證碼,看不清楚?請點擊刷新驗證碼
內容:
主站蜘蛛池模板: xxx大片免费视频| 碰超在线| 永久精品免费影院在线观看网站| 鲁大师在线观看在线播放| 精品在线观看一区| www三级免费| 日本特黄特色大片免费播放视频| 国产一级黄| 国产成人久久精品区一区二区| 在线观看网址入口2020国产| 亚洲最大看欧美片网站| 国产精品人体私拍99pans| 九月丁香婷婷| 欧美视频一区| av18在线播放| 永久精品免费影院在线观看网站| 色妇女影院| 国产美女自拍| 超级乱淫片67194免费看| 手机看片日韩日韩国产在线看| 日本xxx护士与黑人| 成人影院免费www| 国产欧美日韩专区| 香蕉eeww99国产在线观看| 国产在视频线在精品| 亚洲精品一区乱码在线观看| 尤物在线免费观看| 在线看片h站| 国产一级片毛片| 国产成人福利在线| 精品成人毛片一区二区视| 巨臀中文字幕一区二区视频| 综合精品一区| 久久久久18| 亚洲国产日韩女人aaaaaa毛片在线| 国产99网站| 真实国产乱视频国语| 国产成人99久久亚洲综合精品| 国产精品亚洲国产| 欧美黑寡妇香蕉视频| 亚洲天天综合网|