Skip to content

Latest commit

 

History

History

timer_encoder_counter

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Introduction

This is a TIMER example that uses the quadrature decoder function of TIMER2 to count the pulses of the extern quadrature encoder.

How to use

Connect the encoder

You need first connect the quadrature encoder to RV-STAR board like this:

RVSTAR Encoder
3V3 VCC
PA6 S2
PA7 S1
GND GND

Build and run using Nuclei SDK

Here are the steps build and run in Nuclei SDK using command line.

# clone nuclei-sdk repo and cd to it
git clone https://github.com/Nuclei-Software/nuclei-sdk
cd nuclei-sdk
# Setup nuclei tools environment following https://doc.nucleisys.com/nuclei_sdk/quickstart.html#setup-tools-and-environment
# Assume you are in Windows, and have create and setup the setup_config.bat file
# source the nuclei tool environment
setup.bat
# clone nuclei-board-labs
git clone https://github.com/Nuclei-Software/nuclei-board-labs
cd nuclei-board-labs/
# cd to this example
cd rvstar/timer/timer_encoder_counter
# Build this example for nuclei rvstar board
## clean this example first
make SOC=gd32vf103 BOARD=gd32vf103v_rvstar clean
## build this example
make SOC=gd32vf103 BOARD=gd32vf103v_rvstar all
## connect rvstar board using USB dongle, and make sure driver is setup correctly
## see https://rvmcu.com/column-topic-id-464.html
## upload this example
make SOC=gd32vf103 BOARD=gd32vf103v_rvstar upload
## debug this example
make SOC=gd32vf103 BOARD=gd32vf103v_rvstar debug

Then you can use a serial terminal tool like Minicom or CoolTerm to connect the board with baudrate 115200. After that, you can rotate the quadrature encoder and you will see the printed counter value change with rotation.

You can also refer to this guide for more details:

Build and run using other tools

If you are not familar with command line, you can also create projects using Nuclei Studio and PlatformIO IDE, put this example code in the IDE and then build, upload and debug on it.

Create a project

You can create a project in Nuclei Studio IDE or PlatformIO IDE.

Copy the source code

Copy the main.c file from this directory and replace the existing application code in the IDE project directory.

Build and Upload

Connect RVSTAR board to your PC, build and upload the project and then you can use a serial terminal tool like Minicom or CoolTerm to connect the board with baudrate 115200. After that, you can rotate the quadrature encoder and you will see the printed counter value change with rotation.

Reference