Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 4

Blinking a Built-in LED

Using CMSIS

Ybañez, Marc Daniel M.


Department of Electrical and Electronics Engineering
University of San Carlos, Technological Center
Cebu City, Philippines
marcdybanez@gmail.com
Abstract—This experiment aims to familiarize the usage of a
Microcontroller, specifically the STM32L053R8. The researchers
were task to test out a code that if executed, would produce a
blinking LED indicator located within the MCU board. However,
due to hardware problems they experienced, an error occurred
preventing the researchers to further conduct the experiment. It
was deduced that the cause of the error was the drivers that were
outdated.

I. INTRODUCTION
Microcontrollers or MCUs for microcontroller units are
integral part of most appliances and gadgets in the modern
world. It is defined as the “brain” of any computer system
which executes any tasks and logical instructions passed to it.
It can also be found in remote controls of TV or other
appliances. Its basic feature is to interact and control external
devices through designed pins connected to a software. The
Fig. 1. STM32 Nucleo Board.
General Purpose Input/ Output (GPIO) port, is a collection of
external pins on the microprocessor that can be configured to
act as either an input or an output. II. METHODOLOGY
By this definition, an MCU has three basic components: STM32 Nucleo board was programmed using an IAR
Embedded Workbench and coded in C language.
1. Processor – Central Processing Units (CPUs) which
are rated according to their clock rate (often in The code below was downloaded into the MCU and tested.
megahertz or MHz) and register width (e.g. 8-bit, 16- For STM32 Nucleo board, the built-in LED was connected to
bit, and 32-bit); PA5.
2. Memory – in the form of NOR flash and a small
amount of Random Access Memory (RAM) which are
both mainly characterized by their sizes; and
3. Peripherals – including General Purpose Input Output
(GPIO), Timers/Counters, Analog-to-Digital Converter
(ADC), Serial Peripheral Interface (SPI), and many
more that interact with users or provide output.

One commercial MCU in the market is STM32L053R8


which is embedded in STM32 Nucleo-64 development board. Fig. 2. C code for an LED blinking program.
The STM32 Nucleo board provides an affordable and flexible
way for users to explore new concepts and build prototypes Then, the multiplier of the timer variable in line 5 was
with the STM32 microcontroller [3]. A picture of the board is varied and the change in the period of blinking was observed.
shown in the figure below. Data were tabulated and analyzed.

III. RESULTS AND DATA


When the program was executed, there was an error shown.
The software was not able to detect the MCU and the session
was aborted. This is seen in Figure 3.
not have occurred within the code or software, but in the
hardware itself. The hardware might not be up to date.

IV. CONCLUSION
The researchers were unable to continue with the
experiment due to the MCU’s out-of-date drivers. The function
of the code was to supposedly make the LED blink at a certain
frequency. The researchers could not also try and fix the
problem by updating the drivers due to computer’s
administrator security restrictions.

REFERENCES

[1] M. Brain, “How Microcontrollers Work,” HowStuffWorks. Retrieved


Fig. 3. IDE not detecting the MCU. from https://electronics.howstuffworks.com/microcontroller.htm.
[2] “What is a Microcontroller?,” FutureElectronics. Retrieved from
The software did not detect any error within the code, and it https://www.futureelectronics.com/en/Microcontrollers/microcontrollers.
compiled the code correctly. Deducing from the given aspx.
circumstances, we are able to observe that the problem must [3] “STM32 Nucleo-64 development board with STM32L053R8 MCU,
supports Arduino and ST morpho connectivity,” ST. Retrieved from
http://www.st.com/en/evaluation-tools/nucleo-l053r8.html.

You might also like