• Welcome to Andy's Workshop Forums. Please login or sign up.
 
March 28, 2024, 12:44:37 pm

News:

SMF - Just Installed!


stm32F103vet6 - ssd1963 board hack

Started by NorwE, February 27, 2017, 05:51:18 am

Previous topic - Next topic

NorwE

Hi!  :)
Thanks for a great and informative site. A lot of interesting projects, libraries and resources :)

I have 3 pcs of a  480x272 tft panel board controlled by stm32F103vet6  and the display controller ssd1963. It is designed to be a slave and receive byte commands over serial from another mcu (e.g. arduino etc) to do drawing, text, pictures, video, audio etc. Picture of the stm32: https://drive.google.com/open?id=0B7STUO-RlvwCT0hBcVM5bFZ4c28

I found the orignal setup a bit limited and when I found this site and the ssd1963 example I decided to try to program the onboard stm32F103vet6 directly. Got that working over usart1 by removing the BOOT0 resistor and transfer hex with ST Flash loader program.

I'm now facing some issues and hoping for some advice. I get the stm32plus ssd1963 example running, just dont get anything other than backlight, a white screen.
Example code from the stm32plus library: https://github.com/andysworkshop/stm32plus/blob/master/examples/ssd1963/ssd1963.cpp
Build the library using this command: scons mode=debug mcu=f1hd hse=12000000 install INSTALLDIR=~/install/stm32plus and tested the blink example succesfully.

I looped the card to check connections between the mcu and ssd1963. It is connected as in the stm32plus library example, except from these:

-Backlight is on PB0 and reset from ssd1963 is connected to PB12. I have used this temporary solution for backlight:
  //DefaultBacklight backlight;  //removed all use of the backlight object - where is DefaultBacklight defined?

Added PB0 as digital output GpioB<DefaultDigitalOutputFeature<0,12> > pb;
pb[0].set(); //backlight on


-For reset I changed the GpioB to 12 as above and changed the LcdAccessMode arguments:
_accessMode=new LcdAccessMode(fsmcTiming,16,pb[12]); //pe[1]

D12-D15 is connected:
* PE15 => D12
* PD08 => D13
* PD09 => D14
* PD10 => D15

In the example I find this note:
* The SSD1963 driver is configured to transfer data using
* D0..D11.
* Do not connect FSMC pins D12..D15.

Any suggestions to what I can try? Is the use of full backlight likely to give problems or that I ave a different pin for the reset?
I also dont understand the reason for only using 12 data pins for the 16bit communication?

Thanks in advance  :)

Kamswomy

Hi,
Im glad to share with you a simple but working code ive wrote for use SSD1306 oled display 128x64 with ours pics.

Im using PIC16f1788 and tested on 18f4525.

good for any pic with i2c and 1k and little more of RAM.

line, circle, rect copied and adapted from glcd library


   Code: