导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→实现一个lcd-drawing库基于setPixel sdr[liufengzhong]

 *第58442篇: 实现一个lcd-drawing库基于setPixel sdram_col_write函数的使用

  
楼 主:liufengzhong 2014年10月9日19:19
 实现一个lcd-drawing库基于setPixel sdram_col_write函数的使用
你好,

我实现了一个“setPixel”功能,使用display_controller模块和sdram写在一个内部列像素数据使用“sdram_col_write”功能。 它工作很好,但我的问题是计算的列索引被传递给该函数。 就像一个计算在“CMD_WRITE_LINE”命令发送到display_controller_server。
 
start_row =(s.IP[image_no]。 start_used_words +线* s.IP[image_no].line_width_words)/ SDRAM_ROW_WORDS; 
start_col =((s.IP[image_no]。 start_used_words +线* s.IP[image_no].line_width_words)* 2)% SDRAM_COL_COUNT; 
word_count = s.IP[image_no].line_width_words; 
sdram_buffer_write_p(c_sdram、银行、start_row、start_col word_count,buffer_pointer);
 
总是列索引0。
 
我所知的sdram(PINOUT_V1_IS42S16400F 4银行。 每个银行都有4096行和256列。 的每一列条目2字节)。 我以为我是假设计算start_col如下:

start_col =((((s.IP[image_no]。 start_used_words + pix_row * s.IP[image_no].line_width_words)* 2)% SDRAM_COL_COUNT)+ pix_col)% SDRAM_COL_COUNT;/ / pix_col列指数= { 0 . . 479 },pix_row = { 0 - 271 }
 
但是,我得到一些有趣的行为像一个行液晶(480像素)不是存储在sdram contineously。

也就是说,从左至右,从上到下。
有人能解释我是如何“display_controller_image_write_line”写在sdram吗?。 我用它来初始化2帧缓冲区(480 * 272)与背景颜色的sdram(0 xffff)。

我认为这是我在哪里丢失的东西
 
谢谢
德里克

回答:

如果您使用的是 display_controller_image_write_line, 你不需要担心计算开始的行和列的SDRAM位置图像的线。 这是方便使用显示控制器在处理图像时虽然需要一个额外的逻辑核心。

对于每一个图像,通过调用分配的内部空间 display_controller_register_image 需要的行数和列图像的(单词),并返回一个句柄。 对阅读和写作的一个特定的行图像之后,只通过行号。 显示控制器依次计算开始的行和列线在内部空间并将它们传递到内部服务器。


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:示波器有哪些功能应用?

[下一篇主题]:Windows USB音频设备驱动程序的问题