element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
STM32F4DISCOVERY Expansion Boards
  • Products
  • Dev Tools
  • STM32F4DISCOVERY Expansion Boards
  • More
  • Cancel
STM32F4DISCOVERY Expansion Boards
Forum Learning the STM32F4Discovery
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join STM32F4DISCOVERY Expansion Boards to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 12 replies
  • Answers 3 answers
  • Subscribers 7 subscribers
  • Views 1617 views
  • Users 0 members are here
Related

Learning the STM32F4Discovery

philip-1992
philip-1992 over 12 years ago

Hi everyone,

 

I have an upcoming project for my finals as electrical engineer and the project consists of a design of a touch screen interface for micro controller. As I am not that familiar programming I bought the STM discovery, extention and LCD boards in order to get more familiar with the programming. I am using IAR embedded software and downloaded the examples available on this forum. I started with an example that regards the LCD the project's name is LCD_35T. Currently I am struggling understanding a few things mainly the GPIO configuration found under the stm32f4_discovery_lcd.c. I have downloaded the manual of the STM board and read the sections of GPIO (page 185-203 from the manual). However I cannot understand what each instruction is doing to each pin. Is there an explaination like a tutorial of this example?

 

Thank you in advance.

  • Sign in to reply
  • Cancel
  • gihu
    0 gihu over 12 years ago in reply to philip-1992

    SystemInit, is in the file system_stm32f4xx.c.

    This file is essential for defining the clock source for the system core, for the timer, and the peripherals.

    ST offer an excel sheet to easily create this file. See:

    http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1533/PF257927

     

    You should add also system_stm32f4xx.h file.

     

    SystemInit() funtion could be called from startup file or from your main program.

     

    Startup, system, and core files are included in different ways depending on the IDE you are using. I use Coocox.

     

    Hope it helps, ask if you have any other issue about it, for me it was a little bit complicated when I was trying to figure out what was every file, and chose IDE.

     

    Regards,

    Miguel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • philip-1992
    0 philip-1992 over 12 years ago in reply to gihu

    Hi there I really need some guidance on this one. So far I managed to read the value from the pot, do some kind of menu which enables the user to toggle between Voltage, current and resistance. But now I noticed something due to some if statements shown here under:

    if((tst_point.x >= 3000) && (tst_point.x <= 3400))

         {

          sprintf((char*)text," Pot Value: %d Ohms",ConvertedValue);//Display the actual value of the pot on screen

         }

         else if((tst_point.x >= 1900) && (tst_point.x <= 2300))

         {

           Current = Voltage / ConvertedValue;     

           sprintf((char*)text," Current Value: %0.2f A    ",Current);//Display the actual value of the pot on screen

         }

         else if(tst_point.x <= 1200)

         {

           sprintf((char*)text," Voltage = %dV       ",Voltage);//Display the actual value of the pot on screen

         }

     

    The program loads: Mon Sep 02, 2013 15:43:28: 21480 bytes downloaded into FLASH (12.10 Kbytes/sec). The screen shows the initial menu but when I choose an option, the menu doesn't work. After a few trial and error I noticed that when I remove the 2nd if statment the program loads: Mon Sep 02, 2013 15:50:35: 16236 bytes downloaded into FLASH (13.01 Kbytes/sec) and so the touch screen works. Hence I concluded that for the program to work the maximum bytes downloaded into flash must be less than 20000 bytes. Is there a way or a setting to fix this inorder to maximize the bytes? I really do need some help to fix this as my real program will be much larger than that!!

     

    Thanks

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
<
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube