본문 바로가기

임베디드 (?)

(6)
HX711 source codes for Magnet Flux Meter /* * HX711.c * * Created: 2025-01-14 오전 10:15:09 * Author: KyKi */ #include "cdef.h"#include "HX711.h"#include #include sint32 HX711_s32Raw[HX711_CH_count];void HX711_Clk(uint8 clk){ if (clk==0) { ClrBit( PORTC , BIT1 + BIT3 + BIT5 + BIT7 ); ClrBit( PORTA , BIT7 ); } else { SetBit( PORTC , BIT1 + BIT3 + BIT5 + BIT7 ); SetBit( PORTA , BIT7 ); }}uint8 HX711_ReadData(uint8 ch){ uint8 ret; ret ..
WinAVR problem within Windows8.1 Windows 8.1 32bit, 64 bit has a problem to execute WinAVR compilation. This can be resolved by... http://www.madwizard.org/electronics/articles/winavrvista http://www.ulrichradig.de/forum/viewtopic.php?f=6&t=2842 Download the latest WinAVR. At the moment of writing this is 20071221. If you use AVR Studio together win WinAVR, make sure you are using the latest AVR Studio. Older versions may not b..
AVR 문자열 사용시 program 메모리 영역으로 옮기는 법. AVR GCC 에서 통신이나, 다른 기능 구현시...Send("Hello\r\n"); 이런걸 많이 쓰는데요...희안하게 상수 문자열임에도 불구하고 RAM 으로 잡힙니다. "Hello\r\n" 이게 왜 RAM 으로 잡히죠?원인은 모르겠고, 아래 사이트에가면 해결방법이 있습니다. #include UART_vTxStringDirect_p(PSTR("Table 1 : RL table for 1550\r\n")); PSTR( ) macro 를 사용하면되고...읽을때는 pgm_read_byte( str ) 이런식으로 읽습니다. 자세한 건 아래 링크로... http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=38003&start=all&postdays..
ATMEL - Tiny13 Sleep and Wake up Tiny13 으로 긴급히... 바때리로 돌아가는 쪼만한 유닛을 만들게 되었습니다. on/off 버튼 토글하면, Sleep and Wakeup 이 되야 합니다. -_-; 큰 삽질은 안했지만, 아래 같이 하면 되네요... on/off button 은 B1 port 의 Port Change Interrupt 를 사용합니다. 아래 Sleep 관련 Macro 를 사용하려면, AVR GCC (WinAVR) 에서 제공하는... #include 를 쓰면 됩니다. Sleep 들어갔더니 20uA Current 소모 하네요... 좋아요~ /* ----------------------------------------------------- */ sleep_enable(); MCUCR = (MCUCR & 0xFC) | 0x00..
ST-Link 디버깅 에러 with Windows7 64bit 노트북을 새로 샀다. Win7 64bit 이 깔려있었다. 쓰는 프로그램 설치하고... STM32 개발환경 셋업 완료. 간만에 일이있어 ST-Link 로 디버깅 시도... 헐... 안된다... MacBook 에서 버추얼로 Win7 32bit 돌리면서도 잘돌아가던 ST-Link 였는데... 약 4시간의 구글링과 인터넷질로 알아낸 방법. 최신 STLinkUSBDriver.DLL 은 Win7 64bit 에서 안됨. "ST 미친거 아니야?" 첨부의 드라이버 DLL 잃어 버릴까봐 여기에 올려둔다. Win7 64bit 에서 디버그 안될때는 개발환경에 있는 Driver DLL 을 이걸로 고쳐주면 된다.
C8051F000 Flash read/write function // ========================================================================== // Flash memory function unsigned char xdata *pwrite; unsigned char code *pread; #define SIZE_OF_BACKUP 6 idata unsigned char backup_data[SIZE_OF_BACKUP]; void flash_write(void); void flash_read(void); void flash_write(void) { unsigned char addr; backup_data[0] = a_current >> 8; backup_data[1] = a_current & 0xFF; backu..