STM8s-Discovery Step4: UART2 Interrupt and External interrupt

October 25, 2010 by 10Logic.com  
Filed under STM8s-Discovery

การเขียนสื่อสารข้อมูลอนุกรม UART2 แบบอินเตอร์รัพต์และการใช้งาน External interrupt

สิ่งที่ต้องใช้

STM8s-Discovery
Cosmic compiler
ST Visual Develop

วงจร

การเขียน:
การเขียนโปรแกรมโดยใช้ STVD+COSMIC ส่วนสำคัญในการเขียนโปรแกรมใดจะอยู่ส่วนหลักอยู่ด้วยกันคือ

การกำหนด Project Setting
การกำหนดค่าที่ไฟล์ stm8s_conf.h

1. ให้กำหนด Preprocessor Definitions ทุกครั้ง

2. คราวนี้มาดูส่วนไฟล์ stm8s_conf.h ทางผู้พัฒนาเขาได้สร้างส่วนนี้ไว้เพื่อให้ง่ายต่อการสร้างโปรเจ็คใหม่ๆ ถ้ามือใหม่คงฉงนหน้าดู ผมก็ฉงนมาแล้ว คริๆ ภายในไฟล์นี้จะมี define module การทำงานส่วนต่างๆเช่น

// #define _BEEP (1)                             // สำหรับการสร้างเสียง
//#define _CLK (1)                               // สำหรับการกำหนด clock
//#define _EXTI (1)                               // สำหรับการ define การอินเตอร์รัพต์
//#define _FLASH (1)                           // สำหรับ เขียน อ่าน Flash memory/eeprom
// #define _ITC (1)                                // [...]

STM8S105C4T6 interface EEPROM i2c bus

July 31, 2010 by 10Logic.com  
Filed under Microcontroller, STM8s-Discovery

หายเขียนบล็อกไปหลายวันเนื่องจากไปต่างจังหวัดมาบ้าง ทำงานบ้าง วันนี้ก็ 31 วันสิ้นเดือนอีกแล้ว ทำไมเวลามันช่างเดินเร็วจริงๆทำนู้นทำนี้ก็หมดไป 1 วันล่ะคิดไปคิดมาชีวิตคนเรามันสั่นมาก เวลาเหลือน้อยอยากทำอะไรก็ทำให้เต็มที่ไปเลยครับ
วันนี้ผมต่อ EEPROM 24LC16 ด้วย STM8s105C4T6 เสร็จเรียบร้อยแล้ว โค้ดโปรแกรมได้มาจากคุณ อดิศักดิ์ ต้องขอบคุณตัวอย่างโค้ดนี้วงจรต่อตามรูปด้านล่างได้เลยครับ ผมใช้ stm8s-discovery ในการทดสอบโค้ดนี้ ผมจะให้ LED ติดดับ  คือเขียน 1 ลงไปที่แอดเดรส 0010 ด้วยค่า ‘1′ แล้วอ่านที่ตำแหน่งเดิมหากได้ ‘1′ ผมให้ LED ที่ stm8s-discovery ดับครับ ลองเอาโค้ดไปประยุกต์ดูครับ
Source:
- 24LC16 Data Sheet

-STM8s_I2C_EEP_24xx.rar
by @10
Post Footer automatically generated by Add Post Footer Plugin for wordpress.

STM8s105C4T6 Drive 7 Segment 3 Digit

July 17, 2010 by 10Logic.com  
Filed under Microcontroller, STM8s-Discovery

วันนี้ผมนั่นเขียนโปรแกรม Drive 7 Segment 3 digit ด้วย STM8s105C4T6 เสร็จแล้วก็เลยเขียนวงจรและเผยแพร่ต่อไป เผื่อว่าใครที่กำลังหัดเล่น STM8s จะได้เริ่มต้นได้ถูก ในประเทศไทยยังไม่มีหนังสือให้อ่าน แต่ก็สามารถค้นหาใน internet ได้แต่ต้องใช้ความพยายามหน่อยครับ หาไปเรื่อยเดี๋ยวก็หาเจอ
จากที่ผมซื้อไอซี STM8s105C4T6 จากอีทีทีตัวละ 60 กว่าบาท แล้วก็ซื้อ ET-PCB LQFP48 มาด้วยเพื่อมาต่อวงจรเอง เสียดายไม่มีกล้องครับ จะได้ถ่ายภาพมาให้ดูสถาปัตยกรรมการต่อวงจรของผม อิอิ(มันส์จริงๆ)
โปรแกรมที่เขียนเป็นการนับเลขจาก 0-999 ครับ โค้ดโปรแกรมตามด้านล่างนี้ เดี๋ยววันหลังผมจะเขียนอธิบายไว้ อย่างเช่น GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_FAST, GPIO_DeInit ฯลฯ (ผมใช้ Cosmic compiler นะครับ) เพราะเป็นสิ่งที่ผมเริ่มต้นใหม่เช่นกัน ว่างๆก็เล่น ส่วน atmega128 ก็ยังเล่นอยู่เหมือนเดิมแต่ STM8 เป็นทางเลือกครับ
วงจร

โค้ดโปรแกรม

// Program : Program Drive 7′ segment 3Digit
// Writer : akiraten
// Email : akirten@hotmail.com
// Blog : [...]

STM8s Discovery Step:3 Drive 7 Segment

June 21, 2010 by 10Logic.com  
Filed under Featured, Microcontroller, STM8s-Discovery

วันนี้มาต่อกันเรื่อง stm8s drive 7′ segment ผมพึ่งทดลองเล่น stm8 ทำเสร็จอันไหนก็จะมาเขียนไว้ในบล็อกแล้วกันครับ เผื่อว่ามันจะเป็นประโยชน์กับผู้ที่กำลังเริ่มต้น ผมค้นการเขียนไม่พบลิงค์ในประเทศไทยเลยส่วนมากจะเป็นประเทศจีน ไม่แน่ใจว่าที่มีขายใน ett ซื้อไปเล่นกันแล้วเป็นอย่างไรกัน ไม่เห็นพบข้อมูลในประเทศไทย อาจจะยังไม่มีใครเอามาลง
สำหรับการเขียน stm8s drive 7′ segment นี้ผมจะ drive แค่ 1 digit นับเลข 0-9 วงจรตามรูปด้านล่างนี้เลยครับ ผมตัดแปะเอาไม่ได้วาดวงจรทั้งหมด

โค้ดโปรแกรม

/* Includes ————————————————-*/
#include “stm8s.h”
#include “inigpio.h”
/* Private defines ——————————————-*/
/* Private function prototypes ——————————-*/
/* Private functions —————————————–*/
void initialGPIO(void){
// Reset (“de-initialise”) GPIO port D.
GPIO_DeInit(GPIOB);
[...]

STM8s Discovery Step:3 Led Blink

June 20, 2010 by 10Logic.com  
Filed under Microcontroller, STM8s-Discovery

ผมพึ่งลองโปรเจ็คแรกกับ STM8s คือโปรเจ็คเล็กๆคือไฟกระพริบขั้นเทพ ก่อนการเขียนมาดูวงจรของ STM8s-Discovery กันก่อนจากวงจรจะมี LED: LD1 ซึ่งเป็น LED สีเขียวต่อกับ Port D0 ของ STM8S105C6T6 อยู่ด้วย

1.ให้เปิดโปรแกรม STVD ขึ้นมาแล้วทำการสร้าง New workspace ให้ทำการ add lib เข้ามาใช้งานคือ

stm8s.h
stm8s_conf.h
stm8s_gpio.h
stm8s_it.h
stm8s_type.h

และไฟล์ .c ดังนี้

stm8_interrupt_vector.c
stm8s_gpio.c
stm8s_it.c

โค้ดโปรแกรม

/* Includes —————————————*/
#include “stm8s.h”

/* Private defines ——————————–*/
/* Private function prototypes ——————–*/
/* Private functions ——————————*/

void main(void){

// Delay for a short while.
u16 d;
[...]

STM8s Discovery Step:2 STVD Cosmic Complier

June 20, 2010 by 10Logic.com  
Filed under Microcontroller, STM8s-Discovery

สำหรับการเขียนโปรแกรมกับ STM8s จะต้องมีอยู่ด้วยกัน 2 ส่วนคือ
//

ส่วน IDE สำหรับการโค้ดโปรแกรมลงไปซึ่งทาง ST ได้เตรียมเครื่องมือไว้ให้แล้วคือ ST Visual Develop (STVD) คลิกโหลดhttp://www.st.com/internet/com/SOFTWARE_RESOURCES/TOOL/TOOLSET/sttoolset.zip ดาวน์โหลดลงมาแล้วให้ติดตั้งโปรแกรม หรือที่หน้า http://www.st.com/internet/evalboard/product/210567.jsp
ส่วน Compilers เป็นส่วนสำหรับคอมไพล์โค้ดที่เขียนเป็น Object Code มีอยู่ 2 ตัวที่ใช้คือ Cosmic และ Raisonance ในที่นี้ผมใช้ Cosmic ที่สามารถใช้งานได้ฟรี 16K ซึ่งตอนนี้มีขนาด 32K แล้ว แต่ผมใช้ 16K อยู่เลยดาวน์โหลดได้ที่นี่ http://www.cosmicsoftware.com/dwldstm8_32k_ok.php และทำการติดตั้งการติดตั้งจะมีขั้นตอนที่ยุ่งยากนิดหนึ่งครับเพราะต้องเขียนอีเมล์ไปขอ license จากทาง Cosmic ซึ่งผมไปหาที่เว็บบักสอน(กลุ่ม etoday รู้ว่าเว็บบักสอนคืออะไร?)

เมื่อติดตั้งโปรแกรมเสร็จสิ้นเรียบร้อยแล้วทดลองคลิกที่เมนู้ ST Toolset จะมีส่วนหลักๆ ST Visual Develop (ส่วนการเขียนโปรแกรม) และ  ST [...]

พอหอมปากหอมคอกับ STM8S-DISCOVERY ตอนที่1

“อยู่ใกล้ตา จนไม่รู้ว่ามองข้ามมาขนาดไหน
อยู่ใกล้ไป จนไม่รู้ว่ามองข้าม STM ที่คอยหา
ออกไปPIC ไป dsPIC โว้วโว”

ฮาๆๆวันนี้มาแปลกหน่อย พอดีวันนี้มองหา Controller สำหรับ Drive 7′ segment อยู่ตั้งนาน ครั้งจะไปเล่น AVR เหมือนเดิมก็กะไรอยู่ ราคาพี่แก แค่ attiny2313 ตัวเกือบร้อยเนะ คิดแล้วมันน่าแค้นใจ คนเคยรักเคยหลงอยู่ๆ มาทิ้งกันฉวยโอกาสขึ้นราคาซะนิ ผมเป็นแฟน AVR แล้ว AVR ทำแบบนี้เขาเรียกว่าทิ้งกัน(ผมถูกทิ้ง) เอา!! ล่ะในเมื่อไม่แคร์กันทิ้งกันได้ลงคอ จากนี้ไปผมก็จะทำใจยอมรับแล้วผมเปลี่ยนใจบ้างก็ได้!! เชอะงอล(งอลวัยรุ่นชอบใช้กันผมเจอเวลาคุย m)
นั่งหา PIC อยู่นานมากดูราคาแล้วจะเล่นตัวไหนดี แต่พอนึกขึ้นได้เฮ!! เรามี STM8S-Discovery อยู่นิด่าตัวเองในใจได้เขามาแล้วไม่ยอมเอาใจใส่!!!! ได้เขาแล้วจะทิ้งไม่มาดูแลอิอิ >> ลืมคิดไปว่าตัวเองมี STM8 อยู่แท้ดันไปมอง PIC ซะได้

ผมลองตรวจสอบราคาไปที่อีทีที ราคาเกินครึ่งร้อยนิดๆถ้าซื้อเยอะล่ะ!!!

เอาล่ะหยิบ STM8 แกะกล่องมาลองต่อ USB ดูพอเสียบแล้วมันจะหา Driver สำหรับ [...]