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.


Topics - TaoTao

Pages: [1] 2 3 ... 12
1
STM8 -> EWARM / COSMIC-C
STM32 -> CUBE / HAL / KEIL / EWARM
แล้วแต่เนื้อหาที่สนใจครับ
โดย อาจเริ่มตั้นแต่พื้นฐาน C ก็ได้
คู่ขนานกับ Lab จริง / Oscillo Scope / Analyser Scope กับบอร์ด / เบอร์ mcu ที่มีขายในท้องตลาด
สามารถเน้น feature ที่ท่านสนใจโดยเฉพาะได้
สอนจนถึง multi-tasking การควบคุม/สั่งงาน แบบคู่ขนาน
RCC : HSI, HSE, LSI, LSE, BYPASS
TIM : ARR, PWM, OCC, IC
GPIO : IPPU, IPPD, OD, PP, ANALOG, DIGITAL, FLOAT,
DMA, I2C, SPI, DAC, ADC
RTC, AWU, LOW POWER MODE, HALT, ACTIVE HALT, WFI, WFE, FLASH INTERNAL,  EEPROM-INTERNAL-EXTERNAL และอื่นๆ

ที่เรียน ใกล้ๆ สถานีรถไฟฟ้าสุรศักดิ์ ครับ
ติดต่อ line id : mrtaotao789

2
อีกทางเลือก เพื่อ Schematic และ PCB Design ครับ library เพียบเลย เสียตรงที่ ฟรีแค่ 300 pin แต่ก็ อีเมล์ไปขอเค้าเพิ่มได้นะ เป็น 500 pin เพื่อการศึกษา 😹

https://diptrace.com/download/download-diptrace/

เจ้านี้ ปรับการ Rout Trace แบบ Manual ได้สะดวกดี ทั้งขนาดเส้น และรูปแบบการเดิน สำหรับคนชอบลาก manual
แต่ ถ้า กึ่ง Manual ความฉลาดการเดินทางของ Trace ยังคงแพ้ KICAD

ดีคนละแบบ 😹

3
ลาก tool bar เล่น.. เพลินไปหน่อย ไม่เหลือเลย  ;D
จะเรียกมันคืนมาอย่างไรอ่ะครับ
ทั้ง คลิกขวา คลิกกลาง คลิกซ้าย ลูกกลิ้ง ไม่มีวี่แววเลย ไร้ซึ่งการตอบสนอง

4
คือ เคยใช้แต่ HSI ไม่ก็ต่อ Crystal คือ HSE แล้วเปิด PLL
ส่วน HSE BYPASS ในเคสจริงๆ นี่ ใครเคยใช้บ้างอ่ะครับ
ใช้งานแล้วเป็นอย่างไรบ้างครับ หากเทียบกับ HSE+PLL จาก Crystal

5
พอดีไปเจอบางเว็บมา spec/price คุ้มดี

อย่างเบอร์ N76E003 mcu 8 bits
แต่ ADC ละเอียดถึง 12 bit  8 channel
อุณภูมิทำงาน ได้ 105 องศา และอื่นๆ

ผมนั่งอ่านโค้ดที่ฝรั่งเขียน
ดูๆ แล้ว initial ง่ายดีแฮะ โค้ดสั้นดี สั้นกว่า stm มั่กๆ

อ่านๆไป เห็นว่าต้องใช้ debuger ของ Nu-Link นี่แหล่ะ ซึ่งผมยังไม่มี

คงต้องสั่งของก่อน ว่างๆ อาจได้ลอง

ใครเคยใช้แล้วบ้าง.. ?
มันมีข้อเสียอะไรบ้างไหมครับ

6
คือ ผมอ่านค่า  CNT of TIM1  มาเก็บไว้ที่  tim1_rec_[..] เพื่อดู machine cycle :

"tim1_rec_[0] = (( TIM1->CNTRH << 8 ) | (TIM1->CNTRL) );
.
tim1_rec_[1] = (( TIM1->CNTRH << 8 ) | (TIM1->CNTRL) );
.
tim1_rec_[2] = (( TIM1->CNTRH << 8 ) | (TIM1->CNTRL) );
.
"

ปรากฎว่า มันขึ้น warning แบบนี้ตลอดเลย

"Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this  D:\Dropbox\__WP\_PJ_STM8S_IAR\Project\my_prj\stm8s_it.c 127"

โค้ดทุกอย่างก็ทำงานตามที่คิดไว้ ทั้งหมด
แต่ แอบโตะใจที่มันเตือนนี่แหล่ะครับ    ::)

มีทางทำให้มันไม่ warning ไหมครับ
แค่ส่องค่า เท่านั้นเอง ทำมาเป็นเตือน  ;D

7
เช่น มีตัวแปรประเภท struct
ให้มันรับค่า ip จากนั้นห้ามเปลี่ยนค่าอีกเลย

คำสั่งแบบนี้ มีไหมครับ

8
หลักๆ RTC ก็มีเท่านี้แหล่ะมั๊ง
คือ ตั้ง Times, Alarm และรอ Alarm ทั้งแบบ ธรรมดา และ Interrupt

ในที่นี้ สาธิต Alarm Interrupt แบบ Date Mask ครับ
ไม่ Mask ไม่ไหวครับ รอกันเป็นวันเลยยยย  ;D ;D ;D

ท้ายๆ คลิป มันวิ่งเข้า Interrupt ก่อน Alarm ที่ตั้งไว้ 1 วินาที (อ่านจาก Register)
ขี้เกียจหาสาเหตุล่ะครับ ง่วง ขอนอนก่อน  ;D

คิดว่า น่าจะพอทำให้ คนที่เพิ่งเริ่มใช้งาน ง่ายขึ้นน่ะครับ
อ่อ พอดี คอม ไม่มีไมล์นะครับ เลยพิมพ์เอา  :P
https://youtu.be/QZGfhKpoJFE

Pages: [1] 2 3 ... 12