Bidirectional UART String Communication on CC2530
Hardware Register Configuration
The CC2530 provides flexible USART configuration through several key registers. Pin mapping selection uses PERCFG, where clearing bit 0 selects Alternative Location 1 for USART0 (RX on P0_2, TX on P0_3). Setting P0SEL bits 2 and 3 enables peripheral functionality for these pins rather than general-purpose I/O.
Ba ...
Posted on Fri, 26 Jun 2026 16:29:57 +0000 by buddymoore
UART Communication Example on Linux
UART (Universal Asynchronous Receiver/Transmitter) represents one implementation approach for serial communication, making it a form of serial data transmission. This intreface enables two devices to exchange information via a serial connection using an asynchronous communication protocol.
Programming with UART typically involves opening the se ...
Posted on Thu, 18 Jun 2026 18:19:02 +0000 by chrisredding
Introduction to Embedded C Language Design
Transition from Standard C to Embedded C Programming
Characteristics of C Language
As a fundamental high-level programming language, C has evolved into various extensions. In embedded systems design, the primary enhancement involves hardware device drivers. This extension offers a more adaptable environment for application development. My un ...
Posted on Thu, 18 Jun 2026 16:32:45 +0000 by danger2oo6
Common Pitfalls When Working with the iFLYTEK XFS5152CE Voice Synthesis Chip
The chip datasheet for the XFS5152CE lists its I2C address as an 8-bit write address; however, the actual address used on the bus is a 7-bit address. The correct 7-bit address is 0x40. The least significant bit determines the operation: set to 1 for read (0x81) or 0 for write (0x80).
If you are implementing a software I2C (bit‑benging), you can ...
Posted on Wed, 03 Jun 2026 17:57:23 +0000 by mattyj10
STM32 Development Techniques and Best Practices
KEIL Configuration
System Reset Implementation
__set_FAULTMASK(1);
NVIC_SystemReset();
Crystal Oscillator Configuration
In the stm32f10x.h file, modify the system clock setup:
static void ConfigureSystemClockTo72MHz(void)
{
__IO uint32_t startupCounter = 0, hseStatus = 0;
/*!< Enable the High Speed External oscillator (HSE) */
...
Posted on Wed, 13 May 2026 05:54:23 +0000 by simpli