I hope you dont mind me asking, and will be able to help me!
I notice you have had success with the PIC PAL Library from Bruno @ Micro Examples, I haven’t tried constructing this project yet, I have, however, tried constructing the PIC PAL Super Imposer project, and I have not been able to get it to work, I get a lot of “camera roll”, I was just wondering if you had managed to get it to work at all, or know how to use the PIC PAL as an overlay device?
Hi Wlksey.
About the OSD (Super Imposer project), I tried that before making the other project, as I thought it would be easier, as it did only require a PIC12F (8-pin).
But I was wrong… I connected it as descriped, but nothing happened! After alot of testing, rewiring and code-debugging, I concluded that the problem maybe had something to do with the input signal! So I started making the “larger project”, which made the signal itself…
So no, I never got the OSD to work – so no, I’m sorry, I don’t know how to use the PIC PAL library as an overlay device, which is OSD!
I was having a look at the library, if I dont “clear” the screen, connect the input to the output would that work as an overlay or do you think it would break the signal?
I had to change the CLIP_LEVEL from 300-0 for the OSD to display anything, but the sync is all jittery!
Do you have any information about using an LM1881 with a PIC as a OSD at all?
First, I haven’t worked with the ML1881, so I can’t help you there…
I don’t think connecting the Input and the output would break the signal – but I don’t think there will be any overlay… The input will be the same as the output!
Hi Maan.
After alot of late hours I finally figured out that the controller which returns 9919 when you ask it for it’s product ID, is the controller: SSD2119
You can find the datasheet here: http://www.crystalfontz.com/controllers/SSD2119.pdf
hi thomas;
i have a problem with my development kit(mcbstm32c) and its lcd.i want to load pictures and show it, but i couldnt find a suitable converter.Could you send the converter, you mentioned other pages written on vb.net.
I dont’ know the MCBSTM32C, but if it is a 320×240 pixel color display, then you can use my converter.
You can download it here: http://elec.tkjweb.dk/BinaryImageCreator.zip – remember, this is only a beta version, so bugs can occour.
You also have to quit and start (restart) the program everytime you have to convert another picture – you can’t convert pictures in a row, just by selecting another!
Thanks for reply Thomas.
I used 5 or 6 converter including your converter but none of them bring me a conclusion.I am using keil’s library files over their sample lcd projects and changing their bitmap’s c code with my c code created by the converters,when i downloaded and started to kit , i couldnt see the true bitmap.The images arent logical.Also keil doesnt support a suitable converter to their samples,i dont know how i can find
Hi Mehmet.
I really don’t know, as I don’t know the screen on that Keil Development board.
If you could give me more specifications about that, then I might able to help you.
Dear Tomas,
I am a student at university and I am working on a project in which I need to display icons & menus on TFT LCD. I am using the STM3210E-Eval board with an STM32F103ZE microcontrollar.
I’m runnig the demonstration software for the STM3210E-Eval. I displayed the main menu & the icons and now I need to change these icons with some other icons according to my application to load them after that to the Internal Flash.
Can you please help me with this ??
Best Regards,
Dear Mariem.
I haven’t got a STM3210E-Eval board myself, though I have looked on the code.
If you are going to have the icons saved in the internal flash, then it’s easy. You have to make a constant array with the color information!
If you need to have the icons in the external flash, then you probably have to make an empty project with different vectors moved, and then make a constant array in there – but I don’t know!
Dear Thomas,
I’m building a Daft Punk-esque Disco Table, and I’ve been running into some issues (because I’m just getting into this whole world) it’s essentially a 5×5 Dot matrix, but each pixel is made up of 4 LEDs. I thought your USB controlled board was a great start, but could you help me with the rest?
Hi Henrik.
Yes I’m from Denmark. I live in Holstebro at the west coast 🙂
HTX is also very known thing in Denmark, especially for technology interested students.
Hello Thomas~
Nice to meet U here~
I am a Chinese student in college ,
I have the memory that I’ve seen your post somwhere in a Chinese forum…??
Friendly ARM? U got that in China?
This afternoon I find your post on leaflabs, and I am playing with STM32~
I am now using Keil MDK on Windows, with ST’s firmware library.
Frustrated a lot by that… Even worse, with that I can’t make the peripherals workingâ?¦â?¦andâ?¦â?¦andâ?¦â?¦ many problem, Totally worse.
What STM32 Lib do U use now? Or write a Lib yourself by operating the huge amount of REGs?
Could you give me some suggestion about STM32 development?
@Librae
Yes that’s right, I’ve got the FriendlyARM kit from a chineese supplier.
In my STM32 development I use ST’s own firmware library, which I find very usefull and straight forward!
You just have to remember to include the right files – take a look at the examples in the ST firmware library ZIP folder.
@Thomas Jespersen
Thank U Thomas,
Time in China is now 11 at noon, Denmark is now early morning ? haha ~
I am working on uCOS-II v2.52 porting at STM32F103RB these days, and willing to learn RTOS,
and meet many problems when I first to do this…
You must be an experienced elec fan, hm�� must be,
So May I Ask for Advice from U in a frequent time?
After I complete the RTOS port at STM32, I will begin to develop a small robot which can sample image and send to workstation base on ARM9.
At that time must be more problems comming up to me, I believe I could get help from U
^_^
Have you get up? haha ?
Have a nice day!
Hi Thomas,
I need to show some jpg images using STM32, it?s powered by the STM32F103VC6, stamp board from POWERAVR/POWERMCU, with a 3.2″ LCD Model HY320 (ILI9320).
Could you give some suggestion?
Thank you in advance,
Guilherme.
@Guilherme
Dear Guilherme.
I’m sorry to say that I haven’t tried doing JPG-decoding yet.
I’ve only done, and used, BMP files for my display projects.
If the question wasn’t related to JPG-decoding, then I could probably help you. I could also help you with JPG-decoding, but that would require me to get some knowledge about the format first.
hi ! im from vietnam .. my english is not good , so i hope you can understand what i say 🙂 . i have project to graduate university . project is “paint in FPGA ” ( draw line , triangle , circuit …., ) i have many problems , now i haven’t complete project . can you help me ? please send me data to lexuancong252@gmail.com ….. thanks a lot !…. a friend from vienam.
@lexuancong
Sorry for not replying you before, your comment was unfortunately cought by the spam-filter and therefor never seen.
If you are still having troubles with your FPGA project please do not hesitate writing again and I’ll make a prompt response 🙂
Your video on how you did the oscilloscope by using ARM processor is awesome. I would like to ask you how did u learn STM32 ARM Cortex-M3 processor? I had a PIC background for 2 years. I have no problem with microchip explanations and guides on how to program PIC based MCU, but in ARM I found it the example they have given to blink the LED itself already quite so hard. There are no step by step guides on what you should do before the next one, etc. They just give you the code and hope you could understand what they are trying to say.
What I am trying to say is, I am a newcomer to ARM Cortex-M processor and would like you to give me a point on how to learn ARM processor from ground up if you don’t mind (book to read, course to folow, etc).
Short question, in the Keil uvision it says something like this.
Sorry, something just happened to my text earlier, the last 3 sentences didn’t appear as it should be. So I retype it again here.
I know that (1UL << 1) is equal to 0×0000.0002, but i had no idea with (3UL <MODER), while there are no guides etc in their datasheets supplying what is MODER itself? LOL
@Sugi
Dear Sugi.
First of Happy New Year.
When I started with the ARM Cortex development I started downloading the standard periphirals library. This makes everything a lot easier, as you have a specific set of functions to use, when you want to change a GPIO or read an analog input etc.
The ARM Cortex register set is a complex structure, and that is why a simple LED blinking example becomes very large when you are not using the standard periphirals library, as you would have to write to all the different register sets, to set them up properly.
I just checked Keils documentation and ST’s reference manuals and nothing says anything about MODER – just as you say.
But I haven’t heard about it before, and when checking the examples that comes with Keil uVision for the STM series, the Blinky example doesn’t use that.
For the Blinky example we have the following routines that might be usefull for you – and these are not using the standard periphirals library:
void LED_Config(void) {
RCC->APB2ENR |=1<<4;/* Enable GPIOC clock */
GPIOC->CRH &=0x33333333;/* Configure the GPIO for LEDs */
GPIOC->CRH |=0x33333333;/* Configure the GPIO for LEDs */ }
void LED_On (uint32_t GPIOC_LED_Bit) {
GPIOC->BSRR = GPIOC_LED_Bit;/* Turn On LED */ }
void LED_Off (uint32_t GPIOC_LED_Bit) {
GPIOC->BRR = GPIOC_LED_Bit;/* Turn On LED */ }
This code initializes all the bits on the GPIOC port to be Output Push Pull, ready to drive LEDs etc.
I hope this gives a better understanding of the GPIO registers.
Please refer to the reference manual for a complete table of the registers.
Thank you for your fast response. I am be able to make my own startup initialization file now, but as you mentioned before its unnecessary to do that. Better just steal it from the standard library. I forgot to mention that I am using STM32F4 chip. At last I found it they actually have the Reference manual for STM32F4, but for some reason (probably becoz its new) the file was not on the product page and I have to go to search the whole file list for reference manual for it. I was trying to post GPIOX->MODER (but for some reason it was changed when I post it), I found it!!! its actually switching the mode of the GPIOX input / output / alternate. Once again, thanks for the help. I really appreciate it 🙂
Hi. I’ve worked with Arduinos for a long time for escape room props. But our company is working on a larger scale project and I was wondering what you would recommend as a good micro controller to use for a more professional and reliable system. Thanks
Hi,
I hope you dont mind me asking, and will be able to help me!
I notice you have had success with the PIC PAL Library from Bruno @ Micro Examples, I haven’t tried constructing this project yet, I have, however, tried constructing the PIC PAL Super Imposer project, and I have not been able to get it to work, I get a lot of “camera roll”, I was just wondering if you had managed to get it to work at all, or know how to use the PIC PAL as an overlay device?
Regards
Wilksey
Hi Wlksey.
About the OSD (Super Imposer project), I tried that before making the other project, as I thought it would be easier, as it did only require a PIC12F (8-pin).
But I was wrong… I connected it as descriped, but nothing happened! After alot of testing, rewiring and code-debugging, I concluded that the problem maybe had something to do with the input signal! So I started making the “larger project”, which made the signal itself…
So no, I never got the OSD to work – so no, I’m sorry, I don’t know how to use the PIC PAL library as an overlay device, which is OSD!
Best Regards
Thomas Jespersen
Ok, thank you for replying.
I was having a look at the library, if I dont “clear” the screen, connect the input to the output would that work as an overlay or do you think it would break the signal?
I had to change the CLIP_LEVEL from 300-0 for the OSD to display anything, but the sync is all jittery!
Do you have any information about using an LM1881 with a PIC as a OSD at all?
Regards
Wilksey
First, I haven’t worked with the ML1881, so I can’t help you there…
I don’t think connecting the Input and the output would break the signal – but I don’t think there will be any overlay… The input will be the same as the output!
Thomas
Hi Thomas ,,,
I really liked that board with 3.5″ TFT ,, Just want to know from where you got the datasheet of ILI9919 ??
Thanks
Maan
Hi Maan.
After alot of late hours I finally figured out that the controller which returns 9919 when you ask it for it’s product ID, is the controller: SSD2119
You can find the datasheet here: http://www.crystalfontz.com/controllers/SSD2119.pdf
Best Regards
Thomas Jespersen
OKayyyyyyyyyyyyy ….
I have bought the same display like yours from CrystakFontz and developed the GUI,s an year ago ,, see the links …
http://www.flickr.com/photos/maan2k
See the same TFT with MicroSD card Image reading …
http://www.crystalfontz.com/forum/showthread.php?t=6401&page=2
regards
Imran
hi thomas;
i have a problem with my development kit(mcbstm32c) and its lcd.i want to load pictures and show it, but i couldnt find a suitable converter.Could you send the converter, you mentioned other pages written on vb.net.
thanks…
I dont’ know the MCBSTM32C, but if it is a 320×240 pixel color display, then you can use my converter.
You can download it here: http://elec.tkjweb.dk/BinaryImageCreator.zip – remember, this is only a beta version, so bugs can occour.
You also have to quit and start (restart) the program everytime you have to convert another picture – you can’t convert pictures in a row, just by selecting another!
Thanks for reply Thomas.
I used 5 or 6 converter including your converter but none of them bring me a conclusion.I am using keil’s library files over their sample lcd projects and changing their bitmap’s c code with my c code created by the converters,when i downloaded and started to kit , i couldnt see the true bitmap.The images arent logical.Also keil doesnt support a suitable converter to their samples,i dont know how i can find
Hi Mehmet.
I really don’t know, as I don’t know the screen on that Keil Development board.
If you could give me more specifications about that, then I might able to help you.
Best Regards
Thomas Jespersen
thomas i have a topic at this link,could you look at it.Perhaps it will help to tell my problem
http://www.keil.com/forum/docs/thread16714.asp
Dear Tomas,
I am a student at university and I am working on a project in which I need to display icons & menus on TFT LCD. I am using the STM3210E-Eval board with an STM32F103ZE microcontrollar.
I’m runnig the demonstration software for the STM3210E-Eval. I displayed the main menu & the icons and now I need to change these icons with some other icons according to my application to load them after that to the Internal Flash.
Can you please help me with this ??
Best Regards,
Dear Mariem.
I haven’t got a STM3210E-Eval board myself, though I have looked on the code.
If you are going to have the icons saved in the internal flash, then it’s easy. You have to make a constant array with the color information!
If you need to have the icons in the external flash, then you probably have to make an empty project with different vectors moved, and then make a constant array in there – but I don’t know!
Best Regards
Thomas Jespersen
Dear Thomas,
I’m building a Daft Punk-esque Disco Table, and I’ve been running into some issues (because I’m just getting into this whole world) it’s essentially a 5×5 Dot matrix, but each pixel is made up of 4 LEDs. I thought your USB controlled board was a great start, but could you help me with the rest?
@Will
Take a look at this schematic: http://www.mikrocontroller.net/attachment/44489/ledmatrix5x5.png
This is what you will have to do, except that you will have 4 LEDs connected together for every single LED on the schematic.
Exciting website you have here 🙂 – I like your weather station a lot!
But couldn’t resist… Are you from Denmark? You name in combination with you are on HTX sounds very danish to me ! XD
Hi Henrik.
Yes I’m from Denmark. I live in Holstebro at the west coast 🙂
HTX is also very known thing in Denmark, especially for technology interested students.
Hello Thomas~
Nice to meet U here~
I am a Chinese student in college ,
I have the memory that I’ve seen your post somwhere in a Chinese forum…??
Friendly ARM? U got that in China?
This afternoon I find your post on leaflabs, and I am playing with STM32~
I am now using Keil MDK on Windows, with ST’s firmware library.
Frustrated a lot by that… Even worse, with that I can’t make the peripherals workingâ?¦â?¦andâ?¦â?¦andâ?¦â?¦ many problem, Totally worse.
What STM32 Lib do U use now? Or write a Lib yourself by operating the huge amount of REGs?
Could you give me some suggestion about STM32 development?
Thanks a lot~
Best wishes!
@Librae
Yes that’s right, I’ve got the FriendlyARM kit from a chineese supplier.
In my STM32 development I use ST’s own firmware library, which I find very usefull and straight forward!
You just have to remember to include the right files – take a look at the examples in the ST firmware library ZIP folder.
@Thomas Jespersen
Thank U Thomas,
Time in China is now 11 at noon, Denmark is now early morning ? haha ~
I am working on uCOS-II v2.52 porting at STM32F103RB these days, and willing to learn RTOS,
and meet many problems when I first to do this…
You must be an experienced elec fan, hm�� must be,
So May I Ask for Advice from U in a frequent time?
After I complete the RTOS port at STM32, I will begin to develop a small robot which can sample image and send to workstation base on ARM9.
At that time must be more problems comming up to me, I believe I could get help from U
^_^
Have you get up? haha ?
Have a nice day!
Hi, could you contact me on my email.
It is about OV7670(source files) camera module. We have same interest 😉
Best regards
hi Thomas Jespersen,
I have got your mail last saturday.and reply you yesterday.could you receive my mail?your feedback will be appreciated.
Have a nice day!
Hi Thomas,
I need to show some jpg images using STM32, it?s powered by the STM32F103VC6, stamp board from POWERAVR/POWERMCU, with a 3.2″ LCD Model HY320 (ILI9320).
Could you give some suggestion?
Thank you in advance,
Guilherme.
@Guilherme
Dear Guilherme.
I’m sorry to say that I haven’t tried doing JPG-decoding yet.
I’ve only done, and used, BMP files for my display projects.
If the question wasn’t related to JPG-decoding, then I could probably help you. I could also help you with JPG-decoding, but that would require me to get some knowledge about the format first.
Best Regards
Thomas Jespersen
hi ! im from vietnam .. my english is not good , so i hope you can understand what i say 🙂 . i have project to graduate university . project is “paint in FPGA ” ( draw line , triangle , circuit …., ) i have many problems , now i haven’t complete project . can you help me ? please send me data to lexuancong252@gmail.com ….. thanks a lot !…. a friend from vienam.
@lexuancong
Sorry for not replying you before, your comment was unfortunately cought by the spam-filter and therefor never seen.
If you are still having troubles with your FPGA project please do not hesitate writing again and I’ll make a prompt response 🙂
Hi Thomas,
Your video on how you did the oscilloscope by using ARM processor is awesome. I would like to ask you how did u learn STM32 ARM Cortex-M3 processor? I had a PIC background for 2 years. I have no problem with microchip explanations and guides on how to program PIC based MCU, but in ARM I found it the example they have given to blink the LED itself already quite so hard. There are no step by step guides on what you should do before the next one, etc. They just give you the code and hope you could understand what they are trying to say.
What I am trying to say is, I am a newcomer to ARM Cortex-M processor and would like you to give me a point on how to learn ARM processor from ground up if you don’t mind (book to read, course to folow, etc).
Short question, in the Keil uvision it says something like this.
GPIOD->MODER &= ~((3UL << 2*12) |
(3UL << 2*13) |
(3UL << 2*14) |
(3UL << 2*15) ); /* PD.12..15 is output */
I know that 1UL < 0x0000.0002 but i had no idea with 3UL <MODER), while there are no guides etc in their datasheets? LOL
Thanks alot and happy new year 🙂
Sugi
Sorry, something just happened to my text earlier, the last 3 sentences didn’t appear as it should be. So I retype it again here.
I know that (1UL << 1) is equal to 0×0000.0002, but i had no idea with (3UL <MODER), while there are no guides etc in their datasheets supplying what is MODER itself? LOL
Cheers,
Sugi
Arrghh… it happens again
(3UL <MODER)
while there are no guides etc in their datasheets supplying what is MODER itself? LOL
@Sugi
Dear Sugi.
First of Happy New Year.
When I started with the ARM Cortex development I started downloading the standard periphirals library. This makes everything a lot easier, as you have a specific set of functions to use, when you want to change a GPIO or read an analog input etc.
The ARM Cortex register set is a complex structure, and that is why a simple LED blinking example becomes very large when you are not using the standard periphirals library, as you would have to write to all the different register sets, to set them up properly.
I just checked Keils documentation and ST’s reference manuals and nothing says anything about MODER – just as you say.
But I haven’t heard about it before, and when checking the examples that comes with Keil uVision for the STM series, the Blinky example doesn’t use that.
For the Blinky example we have the following routines that might be usefull for you – and these are not using the standard periphirals library:
{
RCC->APB2ENR |= 1 << 4; /* Enable GPIOC clock */
GPIOC->CRH &= 0x33333333; /* Configure the GPIO for LEDs */
GPIOC->CRH |= 0x33333333; /* Configure the GPIO for LEDs */
}
void LED_On (uint32_t GPIOC_LED_Bit)
{
GPIOC->BSRR = GPIOC_LED_Bit; /* Turn On LED */
}
void LED_Off (uint32_t GPIOC_LED_Bit)
{
GPIOC->BRR = GPIOC_LED_Bit; /* Turn On LED */
}
This code initializes all the bits on the GPIOC port to be Output Push Pull, ready to drive LEDs etc.
I hope this gives a better understanding of the GPIO registers.
Please refer to the reference manual for a complete table of the registers.
Best Regards
Thomas Jespersen
Hi again Thomas,
Thank you for your fast response. I am be able to make my own startup initialization file now, but as you mentioned before its unnecessary to do that. Better just steal it from the standard library. I forgot to mention that I am using STM32F4 chip. At last I found it they actually have the Reference manual for STM32F4, but for some reason (probably becoz its new) the file was not on the product page and I have to go to search the whole file list for reference manual for it. I was trying to post GPIOX->MODER (but for some reason it was changed when I post it), I found it!!! its actually switching the mode of the GPIOX input / output / alternate. Once again, thanks for the help. I really appreciate it 🙂
Best regards,
Sugi Tjiu
@Sugi
Ahh, well that might be the reason why I couldn’t find it either.
Well yes, that’s one of the new registers in the Cortex-M4 family.
Glad you got it working 🙂
Thomas
Hello everybody,
Please I want to know what does TKJ (turbo-alternator by ALSTOM) stand for ?
Best regards
@Mexdy
TKJ is my initials, Thomas Kølbæk Jespersen, hence the name of the company.
Hi. I’ve worked with Arduinos for a long time for escape room props. But our company is working on a larger scale project and I was wondering what you would recommend as a good micro controller to use for a more professional and reliable system. Thanks