Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - tha

#161
ARM Processors / stm32f3discovery Coocox CoIDE
April 30, 2014, 01:38:37 AM
ลองย้ายโปรเจค gyro กับ accelemeter มาใช้กับ Coocox CoIDE ก็สามารถทำงานได้ปกติ
http://www.mediafire.com/download/xcxcw9ady29nwpa/L3GD20_GLCD5110(2).rar
http://www.mediafire.com/download/y69oxydzz8gs2yk/LSM303DLHC_acc.rar

เนื่องจาก clock ของ stm32f3discovery รับมาจากขา mco ของ st-link จึงต้องแก้ใขในไฟล์ system_stm32f30x_temp.c จาก
RCC->CR |= ((uint32_t)RCC_CR_HSEON);   ไปเป็น   RCC->CR |= (uint32_t)(RCC_CR_HSEON | RCC_CR_HSEBYP);

(ดูมาจากไฟล์ system_stm32f30x.c ใน stm32f3discovery firmware library แต่ไม่แก้ใขก็ทำงานได้ครับ)
#162
ARM Processors / Nucleo F401 CoIDE
April 24, 2014, 06:16:32 AM
ลองเอา nucleo f401 มาใช้กับ CoIDE ลองทำไฟกระพริบ
http://www.mediafire.com/download/ydox8bur68881ap/gpio.rar
ทำตามตัวอย่างนี้ สามารถทำงานได้(debug ได้) แต่ไม่แน่ใจว่าเซต clock ถูกหรือเปล่า ช่วยตรวจสอบให้หน่อย
http://mbed.org/forum/platform-34-ST-Nucleo-F401RE-community/topic/4855/
#163
ARM Processors / STM32 I2C DS1621
April 01, 2014, 10:18:32 AM
 อากาศเริ่มร้อนแล้ว เลยจับ DS1621 มาต่อกับ STM32F103RB ลองวัดอุณหภิมดู โดยใช้ CoIDE ซึ่งก็สามารถ debug ได้ด้วย j-link



http://www.mediafire.com/download/r252klz9jpaws1b/DS1621.rar

ใช้ retarget printf (printf.c) แทนการใช้ #include <stdio.h> เมื่อเราใช้ฟังชั่น sprintf %d จะช่วยลดขนาดโค้ดลงมาได้มากทีเดียว
วัดอุณหภูมิตอนสิบโมงเช้าได้ 32 C เที่ยงมาคงจะร้อนกว่านี้ ซึ่งก็จะทำให้ผมทำอะไรไม่ได้แล้ว (บ้านไม่มีแอร์) มันจะเครียดจนคิดอะไรไม่ได้และต้องปิดคอมหาที่หนีร้อนแล้วหละครับ  :-[
(รู้สาเหตุแล้วครับว่าทำไมประเทศในแถบโซนร้อนถึงไม่เจริญ)  :'(
#164
ลองใช้มอเตอร์ตัวนี้ http://sangtawan.org/product_detail.asp?product_id=810&lng=th ซึ่งมี encoder ด้วย กินกระแส no load ประมาณ 200 mA  เลยใช้ drive ตัวนี้ http://www.inex.co.th/inexstore/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=576&category_id=55&option=com_virtuemart&Itemid=11#.UzYpa6h_vfs
ซึ่งขับได้ประมาณ 1A มาลอง drive ดู ปรับสปีดด้วยความต้านทานปรับค่าได้ป้อนเข้า ADC วัดความเร็วรอบโดยใช้ encoder mode ของ TIM ทำเป็น PD close loop control สามารถปรับสปีดได้เรียบตามค่าที่ต้องการครับ (ใช้ CoIDE)
http://www.mediafire.com/download/h14gc73wna5t9i2/DCMotor_Encoder_PID.rar
เคยลองทำ balancing robot ด้วยมอเตอร์ตัวนี้แล้ว ไม่ได้ผลเพราะมอเตอร์แรงไม่พอ รับน้ำหนักไม่ไหวล้มง่าย ท่านใดพอจะแนะนำมอเตอร์กับไดฟ์ที่เขาใช้ทำ balancing robot ให้หน่อยครับ
#165
ARM Processors / STM32 USART DMA PID
March 26, 2014, 04:28:51 PM
อยู่ว่างๆก็ย้าย platfrom มาสู่ CoIDE (coocox+gcc arm toolchain)  บอร์ด stm32f103rbt6 ใช้ usart + dma ในการทดลองป้อนค่า PID(ตัวเลข float) ทาง hyperterminal แล้วไปโชว์ค่าที่ glcd5110
ฟังชั่นแปลงตัวเลข float ไปเป็น ascii เพื่อเอาค่าไปโชว์ที่จอ ( sprintf(str,"P = %0.3f   ", Pparameter); ) โดย #include <stdio.h> จะกิน memory มากๆ เมื่อเทียบกับที่ใช้ keil ท่านใดพอจะมีวิธีแปลง float เป็น ascii ที่ใช้ memory น้อยๆบ้าง
http://www.mediafire.com/download/371zf8fdf86euwh/USART_DMA_PID.rar
#166
อยู่ว่างๆก็ย้าย platfrom มาสู่ CoIDE (coocox+gcc arm toolchain) ใช้ stm32f103rbt6 I2C module มาต่อกับ BMP085 ก้ไม่ได้แก้ใขโค้ดอะไรมากก็ใช้ได้แล้ว
http://www.mediafire.com/download/gp4n7j8mwc8k5x1/BMP085.rar
#167



ผมต่อ serial CP2102 เข้ากับ RX/D0 , TX/D1 ของบอร์ด ทำแต่ไฟกระพริบ แต่ hyperterminal ไม่มีอะไรมาโชว์เลย เป็นเพราะเหตุใดครับ
#168
อยากสอบถามวิธีการเช็ค size ของข้อมูลด้วยฟังชั่น
#define countof(a) (sizeof(a) / sizeof(*(a)))
(ในตัวอย่าง main.c ที่แนบมาด้วย)
คือผมไม่เข้าใจความหมายของฟังชั่นนี้ครับ ท่านใดพออธิบายได้บ้าง
#170
Microchip PIC / PIC18F8720 ต่อกับ DS1307
March 12, 2014, 10:57:33 AM
ใช้ C18 ทำไว้นานแล้ว สามารถตั้งเวลาด้วย matrix switch เผื่อใครจะลองเอาไปโมเล่น
http://www.mediafire.com/download/swwy7n6nq20wcay/DS1307_LCD_SW.rar
#171
stm32f103rbt6 ต่อกับโมดูลเวลา DS1307 ตั้งเวลาได้ด้วย matrix switch จอ LCD 16x4  ใช้ CoIDE ในการเขียนโปรแกรม สามารถทำงานได้ แต่ก็ยังไม่ดี ลองเอาไปโมต่อดูนะครับ
http://www.mediafire.com/download/kwhanmnkzu555xb/DS1307_1.rar
#172
จะให้ค่าตัวเลขเป็นตัวเลขเดียวกันระหว่างค่า hex กับค่า dec จะทำยังไงได้ครับ อย่างเช่น
     hextodec           hex  = dec
            อย่างเช่น       0x20 = 20    จะเขียนโปรแกรมอย่างไรครับ
     dectohex           dec  =  hex
            อย่างเช่น       35  =  0x35   
   อย่างนี้จะเขียนโปรแกรมอย่างไรดี คือจะเขียนโปรแกรมเกี่ยวกับ DS1307 ครับ ใช้ function if อย่างไฟล์แนบมามันดูจะยาวไป (ตัวนี้ใช้ PIC18F8720 จะย้ายไป stm32 ดู)
#173
multi-tasking system โดยไม่มี RTOS ในตัวอย่างมี 4 task ในการ context-switching ระหว่าง task จะใช้วิธีแบบ round-robin ซึ่งการ context-switching จะใช้ PenSV exception handler ในการเปลี่ยน(context-switching) งาน(task) ซึ่งก็จะมีการ stacking , unstacking โดยใช้ process stack (PSP) โดยการ set control register = 0x3 (ให้ run ใน unprivileged state และใช้ Process stack (ปกติเราใช้ main stack (MSP)) รายละเอียดดูในหนังสือนี้เลยครับ ตัวอย่างแรกเลย ตอนนี้ผมกำลังหัดดีบักดูค่า memmory ต่างๆ ทำความเข้าใจการทำงานของมันอยู่
http://www.electoday.com/index.php/topic,10790.0.html
#175
เห็นว่าประมาณเดือนกุมภาปีหน้านี้ mbed ก็จะออก software and library เพื่อ support stm32 พร้อมกับที่ค่าย ST ก็จะผลิตบอร์ดสำหรับ mbed ออกมา
http://mbed.org/blog/entry/STM32-support-is-coming-in-mbed/
http://www.arm.com/about/newsroom/stmicroelectronics-joins-arm-mbed-project.php?sf20816743=1
http://www.electronicsweekly.com/news/business/st-and-arm-in-bed-together-2013-12/
#176
ARM Processors / stm32f4 Training
December 07, 2013, 12:51:43 PM
stm32f4 training ภาษาไทยครับ
http://www.youtube.com/v/PTHhbS3xFd4
http://www.youtube.com/v/P5dAnZPo1T8
#177

ทะยอยให้ฟรีบอร์ดแรก pic18f4550 ทำเอง สภาพดีเก่าเก็บ เนื่องจากคงกลับมาศึกษาไม่ไหวเพราะไปจับ stm32 แล้วเก็บไว้ก็รกบ้านเฉยๆ ขอค่าจัดส่ง 100
อยากให้ผู้ที่ต้องการนำไปศึกษาจริงๆนะครับ
tha0996@hotmail.com
ตัวอย่างโปรแกรมครับเก็บไว้นานแล้ว
http://www.mediafire.com/download/dxcyszi70m337ax/C(2).rar
#178
ARM Processors / สอบถาม ADS7843 touch screen
November 01, 2013, 10:57:46 AM
ผมลองใช้ touch screen ของบอร์ด (RedBull)stm32f103zet6 Development Board โดยใช้ keil จะไม่มีปัญหาอะไร แต่พอเอาโปรแกรมเดียวกันมาทำในื ride7 กับ coocox จะ compile ผ่านแต่จะเกิดปัญหาเดียวกัน คือ touch screen จะโชว์วงกลมกากระบากเพื่อให้เรากดคาริเบตตามปกติ แต่เมื่อเรากด touch screen แล้วจะไม่เกิดการตอบสนองใดๆ(ไม่เหมือนกับ keil ที่วงกลมกากระบากจะไปโชว์อีกมุมหนึ่งของจอ) เมื่อผมลอง debug ใน coocox ก็จะพบว่าที่ function void Touch_Adjust(void) ตรงบรรทัด if(Pen_Point.Key_Sta==Key_Down) คือ Key จะไม่ Down (กด touch screen แล้ว คือจะไม่เกิด exti interupt จากขา INT(PENIRQ) ของ ADS7843) คือเมื่อกด touch screen แล้วไม่เกิด exti interupt ก็ไม่ทำโปรแกรมใน function if นั้น เลยวนค้างอยู่อย่างนั้นไม่เกิดการตอบสนองใดๆ แต่โปรแกรมเดียวกันกับ keil สามารถทำงานได้ปกติครับงงมาก
http://www.mediafire.com/download/uv8zu6i3efif7me/stm32f103zet6_touch.rar
#179
ปกติการแปลงตัวเลข (int) ให้ไปเป็นรหัส ascii ใน keil จะใช้ฟังชั่น sprintf(str,"%d", a); แปลงค่าตัวเลข int a; ให้ไปเป็นค่า ascii แล้วเก็บไว้ในตัวแปร char array str[]; แล้วค่อยเอาตัวแปร str[] โชว์ค่าที่ lcd อีกทีนึง แต่กับ compiler CooCox + gcc arm toolchain ไม่สามารถจะใช้ฟังชั่น  sprintf(str,"%d", a); นี้ได้จะ error เลยครับ แต่ sprint(str,"sang") ถ้าเป็น string อย่างนี้ไม่ error  ท่านใดพอจะทราบวิธีแปลงตัวเลข (int) ให้ไปเป็นรหัส ascii โดยวิธีอื่นเพื่อเอาตัวเลขไปโชว์ค่าบนจอ lcd ได้บ้างครับ
#180
Ride7_7.30.10.0169.exe กับ RKit-ARM_1.30.10.0356.msi ตัวนี้ตัวฟรีใช้งานได้เหมือน keil ใช้กับ stm32F103 (ARM cortex_M3) มีตัวอย่างภายในโปรแกรม
http://www.upload-thai.com/download.php?id=eeb02d129086b4c1a9a7e07bf0df59a8
http://www.upload-thai.com/download.php?id=1deb82da46d52274066446d88bed79e3