So-net無料ブログ作成

チョット一休み

aitendoのmp3プレーヤを組み立てました。

 sIMG_0361.jpg

こんな中に(マイクロSDだけど)1000曲も入ってしまうなんて、チョット考えられない時代になりました。

電池にしたくてセンチュリーの(ipod)関連の充電器をそのまま電源に改造 、

約5vで500回使えるとのこと、スーパーのレジ近くで見つけ飛びついてしまいました。

章圧インバータは飛ばしてリポ電池からプロテクタを通したまま引き出しました。

 sIMG_0365.jpg

後で考えると電圧低下検知回路があるはず 、インバータには昇圧回路コイルとパワーFETがあるはず、

インダクタを短絡してのGNDをそのまま引き出せば 、電圧低下防止回路が働くはず・・

もう一度バラしてみます。

結果報告 電圧検出回路は有りませんでした。

プレーヤーの5vがUSBに使われていてダイオードでダウンさせて他の電源に使われていました。

出来れば外側で電圧検出をしてプレーヤ側を止めるしかないようです。

 


コメント(2) 

ADC の main.c

TIM3の換わりに EOCでLEDを点滅させたいのです。

オプションバイト remapping(AFR) の選択で bit5 ADC0,1,2,3 と bit6 ADC5,6  が変化します。

これでADCを選択しなかったら ADC7,8,9 の3ch しか動作しないのでしょうか?

WS001189.JPG

UARTを使うとその分遅くなるのでそれもキャンセルのつもりです。

//*****************

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "stm8s.h"
#include "usrlib-uart.h"

#define fMASTER    4000000   // 4MHz
/*
#define TIM3_FREQ  10        // 10Hz
#define TIM3_PRSC  TIM3_PRESCALER_128
#define TIM3_ARR   ((u16)(fMASTER/128/TIM3_FREQ)-1)   // 4MHz/128/10-1=3124
*/
char UARTstrTX[100];

void main(void)
{
    CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSI, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE);
    CLK_HSIPrescalerConfig( CLK_PRESCALER_HSIDIV4 ); // ADC=16/4=4MHz
    CLK_SYSCLKConfig( CLK_PRESCALER_CPUDIV1 ); // CPU=4MHz
/*   
    TIM3_DeInit();
    TIM3_TimeBaseInit(TIM3_PRSC,TIM3_ARR); // 0.1sec timer
    TIM3_ITConfig(TIM3_IT_UPDATE, ENABLE);
    TIM3_Cmd(ENABLE);
*/
  ADC1_DeInit();
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_2, ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_ALL, DISABLE);
    ADC1_ScanModeCmd(ENABLE);
    ADC1_DataBufferCmd(ENABLE);
/*
    UART2_DeInit();
  UART2_Init((u32)115200, UART2_WORDLENGTH_9D, UART2_STOPBITS_1, UART2_PARITY_ODD, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);
  UART2_ITConfig(UART2_IT_RXNE_OR, ENABLE);
    UART2_Cmd(ENABLE);
*/
    GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_HIGH_FAST); // LED

  enableInterrupts();

    while(1){ } /*Main loop*/
}

u16 adc[10]; // ADC0-9 values
float mV[10]; // calculated voltage

void Tim3Update(void) interrupt 15 // 0.1Sec interrupt
{
    int i;
    GPIO_WriteReverse(GPIOD,GPIO_PIN_0); // LED flash
    // ADC sampling
    ADC1_StartConversion();
    // get ADC values
    for(i=0;i<=9;i++)    adc[i]=ADC1_GetBufferValue(i);
    // convert to voltage
    for(i=0;i<=9;i++)    mV[i]=(float)adc[i]/1024.0*3300.0;
    // display ADC value
/*
    sprintf(UARTstrTX,"ADC(0-9)=");
    SerialPutString(UARTstrTX);
    for(i=0;i<=9;i++)
    {
        sprintf(UARTstrTX,"%4d ",adc[i]);
        SerialPutString(UARTstrTX);
    }
    SerialPutString("\r\n");
    // display voltage value
    sprintf(UARTstrTX,"mV(0-9) =");
    SerialPutString(UARTstrTX);
    for(i=0;i<=9;i++)
    {
        sprintf(UARTstrTX,"%4d ",(int)mV[i]);
        SerialPutString(UARTstrTX);
    }
    SerialPutString("\r\n");
    TIM3_ClearFlag(TIM3_FLAG_UPDATE);
*/
    return;
}

#ifdef USE_FULL_ASSERT
void assert_failed(uint8_t* file, uint32_t line)
{
  while (1)  {  }
}
#endif
 


コメント(0) 

STM8S discovery ST-Link モジュールの再利用 [STM8S]

みなさん STM8S discoveryのST-Link モジュールを切り離して進化させておられますが、

拙は他のSTM8S基板に書き込めるように工夫をしています。

sIMG_0334.jpg

sIMG_0343.jpg

sIMG_0346.jpg

IMG_0341.JPG

本来は ST-Link モジュールから5v,3.3vを送って STM8S基板の方で切り換えジャンパがあり 使う電圧をST-Link モジュールに送り返しています。

これを ST-Link モジュールの方にジャンパを付けて選択し ターゲットSTM8S基板の方のジャンパは使っていません。

追記 ST^LINK基板の方も STM32F103C8 の書き換えをやってみました。

STM8S_D ST-LINK は SWIM で、41pinが  T NRST IN-SB1 43pinが T SWIMIN-SB2 で STM8S_D と繋がっています。

CN5は 5-34 STM-JTMS 4-37 STM-JTCK 6-38 STM-JTDI 3-39 STM-JTDO 8-40 STM-JRST 1-3.3v 7-GND に成っています。

一方 STM32_D は SWD で、 15pinが T JTCK-TCK/SWCK 27pinが T JTMS-TMS/S WDIO で ほかには 17pin TNRST か 18pin TRST を引き出し 右20pin 所でシュリンクチューブを被せてSTM32_D の 右27pin-NCに中継接続します 左2pin-NC 3pin-3.3v

STM8S_D CN5からSTM32_D SWD CN2 1-3.3v 2-NC 3-NC 4-15pin-2-T JTCK 5-27pin-4-T JTMS 6-NC 7-GND 8-17pin--右27pin-T NRST に接続します。

STM32_DのSWDコネクタは1pinを空けるようにずらし最後の所にpinを差し込んで3.3vの中継に使います。

STM8S_Dの R14 とその左のパターンを線で結びます、MPU回りに3.3vが供給されるように成ります、

ssIMG_4010.jpg

 

 

 


コメント(0) 

ST TOOL の パス設定 [STM8S]

 

WS001165.JPG

ST TOOLのパス設定で表面的には出来たように見えていても、実際には以前の場所を指していることもあるようです。(何らかの英語の注意が出るので間違っているのは判っても対処できません)

特に同じ名前のプロジェクトの場合には顕著になります。

プロジェクトホルダの名前は簡単に変更できたんですが 、

プロジェクト名(どれがどを様に言い表すのか判らないまま書いています)は

プロジェクトホルダの中から以前の名前を検索置換してやれば、換えることが出来ました。

WS001173.JPG

そのほか翻訳の関係で「MS-UIG」 をよく使っていましたが、フォントの関連か「LF」と「CR+LF」の区別があるのを知りました、(実際にはどの様な影響があるのか判りません)

戴いたソースは 「stm8s.h」が「stm8s_conf.h」を呼んでいて それが見つからないと出ます。

「stm8s_conf.h」にはデバイスごとの

#if defined (STM8S208) || defined (STM8AF52Ax)
 #include "stm8s_can.h"   
#endif /* STM8S208 || STM8AF52Ax */

の様な記述があるので同じように "stm8s_can.c" などを除外する方法などはあるのでしょうか?

指定の *.c を削除した、ライブラリで ホルダ名やプロジェクト名を換えた場合には、

他のドライブやパスでもビルドすることが出来ました。

現時点で判っていないのは .o や ,lst 入るが出来てしまうことです、

何らかのスイッチで抑制できるかとなんどかためしましたが、 まだ出来ていません。

そのほか、途中経過 「stm8s_conf.h」 を加えた時点で URAT2_IT_RXNE が定義されていないと出ました。

WS001166.JPG

これは受信が無いときだったかの割り込みなので 定義されていないはずはなく調べても判りませんでした。

全体を見ながら少しずつつじつまを合わせて行くと、何とかノーエラにたどり着きました。

WS001172.JPG

このあと、3chの ADCを出来るだけ早く回しながら、他のジョブを増やして行く野にも挑戦します。

ほかにも途中の試験のため LCDなどを付けるか通信で(テラタームなど) データも読み込みたいと思っています。

現在やっていますのは、基板と エバリューションボードの連結 書き込みが必要で この段階の試行錯誤です。

sIMG_0327.jpg

 

 


コメント(0) 

ST-Link のデバイスドライバ [STM-Link]

例のデバイスドライバ 見 で見ますと、

WS001153.JPG

WS001152.JPG

これで 次のように見えます。

WS001154.JPG

TOOL類です、使えないものもあります。

WS001168.JPG

Dear ST customers
For STM8S-DISCOVERY,
My computer does not recognize the disk drive ST32.
Safe mode is recognized.
STM8S-DISCOVERY and let's examine the circuit
4.7uF capacitor has a power supply circuit to the inlet and outlet of 3.3v.
According to SFAS capacitor VBUS of USB is supposed to be from between 0.1uF 0.01uF.
3.3v power supply IC is putting a 10uF capacitor to the exit.
STM8S-DISCOVERY I think that is a violation of both of these criteria, what how?
Best regards

WS001178.JPG

 

 

 

 

 


コメント(0) 

中間報告 [MPU]

stm8s.h を足した場合のエラー内容です。

WS001155.JPG

アーカイバによるホルダの形成。

以前より開けないのがあったりと、何種類かのアーカイバを入れていますが、

操作の仕方でどれかが働き余り意識していませんでした、

WS001145.JPG

20120122_1\xprod01-TEMPERATURE-LOGGER-STM8S105K4B6をダブルクリックする場合は

Lhaz が働き、

20120122\xprod01-TEMPERATURE-LOGGER-STM8S105K4B6を右で解凍とすると

Lhapuls が働いて フォルダが 1段深くなってしまいました。

それと、xprod01.stwをダブルクリックするとオープンオフィスが開いてしまったので、

関連付けを 「ST Visual Develop」にし直しまして、*両方とも開くことが出来同じ結果になりました。*

*** ERROR C155 IN LINE 3 OF usrlib-uart.c : cannot open 'stm8s.h'


*** ERROR C014 IN LINE 8 OF usrlib-uart.c : Undefined 'UART2'

*** ERROR C014 IN LINE 20 OF usrlib-uart.c : Undefined 'FIELD_NUM'

*** ERROR C014 IN LINE 29 OF usrlib-uart.c : Undefined 'FIELD_NUM'

*** ERROR C014 IN LINE 46 OF usrlib-uart.c : Undefined 'FIELD_NUM'

*** ERROR C014 IN LINE 51 OF usrlib-uart.c : Undefined 'FIELD_NUM'

*** ERROR C014 IN LINE 58 OF usrlib-uart.c : Undefined 'FIELD_NUM'

*** ERROR C014 IN LINE 67 OF usrlib-uart.c : Undefined 'FIELD_CHAR'

*** ERROR C014 IN LINE 72 OF usrlib-uart.c : Undefined 'FIELD_NUM'

*** ERROR C014 IN LINE 82 OF usrlib-uart.c : Undefined 'FIELD_NUM'

*** ERROR C162 IN LINE 83 OF usrlib-uart.c : Syntax error near 'UART_STR_EXIST'

*** ERROR C014 IN LINE 88 OF usrlib-uart.c : Undefined 'UART2_IT_RXNE'

*** ERROR C014 IN LINE 106 OF usrlib-uart.c : Undefined 'FIELD_NUM'

RCSTM8 COMPILATION COMPLETE. 5 WARNINGS, 13 ERRORS

 The command: "rcstm8 usrlib-uart.c OBJECT(Debug\usrlib-uart.o) PIN("D:\Program Files\Raisonance\Ride\inc\STM8") PIN("D:\Program Files\Raisonance\Ride\inc\ST7") PIN("D:\Program Files\Raisonance\Ride\inc") PIN(C:\_stm8\users\kj\Work\xprod01-TEMPERATURE-LOGGER-STM8S105K4B6\STM8S_StdPeriph_Lib_V2.0.0\Libraries\STM8S_StdPeriph_Driver\inc) PIN(C:\_stm8\users\kj\Work\xprod01-TEMPERATURE-LOGGER-STM8S105K4B6\xprod01-TEMPERATURE-LOGGER)  WRV(0) STM8(SMALL) DEBUG DGC(data) AUTO  OT(0) PR(Debug\usrlib-uart.lst) CD CO SB LAOB" has failed, the returned value is: 2
exit code=2.

xprod01.elf - 14 error(s), 5 warning(s)

「stm8s.h」 が見つからないらしいので プロジェクトホルダに加えますと、

3エラーになりますが

その時にない「*** ERROR C155 IN LINE 2576 OF stm8s.h : cannot open 'stm8s_conf.h'」

STVD\STM8S_StdPeriph_Lib_V2.0.0\Project\Template
 は見つからなかったのですが、ファイル中を検索すると 5k、6k、8K
 のバージョンがあり 6k以外は動作しました)

を加えますと今度は沢山のエラーになりました。

設定の確認をしました。

WS001147.JPG

WS001148.JPG

WS001149.JPG

下記のように、ファイルを足して行きますと、エラーが出無くなりました 。

しかし、.lst と.o  が沢山付いてきました。

これを抑制できれば元のでもエラーにならないはずなんですが、何処にカギがあるのか判りません。

WS001150.JPG

WS001151.JPG

.hex は出来ていますので、基板は取りあえずこれでやってみます。

sIMG_0323.jpg

シュリンクピッチなので斜め千鳥にして やると何とか付けられました。

基板にするときは「STM8S105K4T3C」の方が使いやすいかも知れません。

それでは宜しくお願いします。

 

 


コメント(0) 

STM8S105K4B6 を使って 定電流回路を作りたいと思います [MPU]

まずは STM8S105K4B6 について調べた事柄。

//STM8S105K4B6

//Pin count                                   32
//Maximum number of GPIOs                     25
//Ext. Interrupt                              23
//Timer CAPCOM channels                       8
//Timer complementary outputs                 3  
//A/D Converter channels                      7
//High sink I/Os                              12
//Medium density Flash Program memory (bytes) 16K
//Data EEPROM (bytes)                         1024 
//RAM (bytes)                                 2K

//4.13アナログ - ディジタルコンバータ(ADC1)
//STM8S105xx製品は、10ビット逐次比較型A / Dコンバータ(ADC1)が含まれている
//?入力電圧範囲:
//VDDA?変換時間0?:
//14クロックサイクル?シングルと連続してバッファリングされた連続変換モード?
//バッファサイズ(NX10ビット)ここで、n=数最大10多重の入力チャネルと、
//以下の主要機能を持つチャネルのシーケンスプログラム可能な上限と下限のしきい値?
//アナログウォッチドッグ機能?アナログウォッチドッグ割り込み?
//外部トリガ入力?変換のTIM1 TRGOからトリガーが?
//エンド(EOC)割り込みのシングルと連続変換用の入力チャンネルは、?
//スキャンモード
//注:追加のAIN12のアナログ入力はADCスキャンモードまたはアナログと選択されていません
//ウォッチドッグ。 AIN12から変換された値は、ADC_DRH/ ADC_DRLに格納されています
//登録されます。
//                                      STM8S105K4B6
//                                      -----uu------                                    
//             ADC_ETR/TIM2_CH2/PD3(HS) 1  #    #  32 PD2(HS)/TIM3_CH1[TIM2_CH3]
//               [BEEP]TIM2_CH1/PD4(HS) 2  #       31 PD1(HS)/SWIM
//                         UART2_TX/PD5 3   R   #  30 PD0(HS)/TIM3_CH2[TIM1_BKIN][CLK_CCO] 0x00 500F_13
//                         UART2_RX/PD6 4   R  S   29 PC7(HS)/SPI_MISO
//                    (TIM1_CH4)TLI/PD7 5  #   S   28 PC6(HS)/SPI_MOSI
//                                 NRST 6      I * 27 PB4/AIN4[I2C_SCL]
//                0x00 5000_4 OSCIN/PA1 7       #* 26 PB3/AIN3[TIM1_ETR]
//                           OSCOUT/PA2 8       #* 25 PB2/AIN2[TIM1_CH3N]
//                                  VSS 9       #* 24 PB1/AIN1[TIM1_CH2N]
//                          0.47uF VCAP 10      #* 23 PB0/AIN0[TIM1_CH1N] 0x00 5005_9
//                                  VDD 11     S   22 PE5/SPI_NSS 0x00 5014_18
//                                VDDIO 12      #  21 PC1(HS)/TIM1_CH1/UART2_CK 0x00 500A_E
//               0x00 5019_1C AIN12/PF4 13 *    #  20 PC2(HS)/TIM1_CH2
//                                 VDDA 14      #  19 PC3(HS)/TIM1_CH3
//                                 VSSA 15      #  18 PC4(HS)/TIM1_CH4
//                    [I2C_SDA]AIN5/PB5 16 *I  S   17 PC5(HS)/SPI_SCK
//                                      -------------                                   
// Flash program memory 16K 0x00 8000 0x00 BFFF
// RAM 2K 0x00 0000 0x00 07FF
// Data EEPROM 1024 0x00 4000 0x00 43FF
// 0x00 5000 Port A PA_ODR 00000XX0
// 0x00 5001 PA_IDR        00000XX0
// 0x00 5002 PA_DDR        00000XX0
// 0x00 5003 PA_CR1        00000XX0
// 0x00 5004 PA_CR2        00000XX0
// 0x00 5005 Port B PB_ODR 00XXXXXX
// 0x00 5006 PB_IDR        00XXXXXX
// 0x00 5007 PB_DDR        00XXXXXX
// 0x00 5008 PB_CR1        00XXXXXX
// 0x00 5009 PB_CR2        00XXXXXX
// 0x00 500A Port C PC_ODR XXXXXXX0
// 0x00 500B PC_IDR        XXXXXXX0
// 0x00 500C PC_DDR        XXXXXXX0
// 0x00 500D PC_CR1        XXXXXXX0
// 0x00 500E PC_CR2        XXXXXXX0
// 0x00 500F Port D PD_ODR XXXXXXXX
// 0x00 5010 PD_IDR        XXXXXXXX
// 0x00 5011 PD_DDR        XXXXXXXX
// 0x00 5012 PD_CR1        XXXXXXXX
// 0x00 5013 PD_CR2        XXXXXXXX
// 0x00 5014 Port E PE_ODR 00X00000
// 0x00 5015 PE_IDR        00X00000
// 0x00 5016 PE_DDR        00X00000
// 0x00 5017 PE_CR1        00X00000
// 0x00 5018 PE_CR2        00X00000
// 0x00 5019 Port F PF_ODR 000X0000
// 0x00 501A PF_IDR        000X0000
// 0x00 501B PF_DDR        000X0000
// 0x00 501C PF_CR1        000X0000

// 0x00 5050 to Reserved area (10 bytes)
// 0x00 5059
//
// 0x00 505A Flash FLASH_CR1
// 0x00 505B FLASH_CR2
// 0x00 505C FLASH_NCR2
// 0x00 505D FLASH _FPR
// 0x00 505E FLASH _NFPR
// 0x00 505F FLASH _IAPSR
//
// 0x00 5060 to Reserved area (2 bytes)
// 0x00 5061
//
// 0x00 5062 Flash FLASH _PUKR
//
// 0x00 5063 Reserved area (1 byte)
//
// 0x00 5064 Flash FLASH _DUKR
//
// 0x00 5065 to Reserved area (59 bytes)
// 0x00 509F
//
// 0x00 50A0 ITC EXTI_CR1
// 0x00 50A1 EXTI_CR2
//
// 0x00 50A2 to Reserved area (17 bytes)
// 0x00 50B2
//
// 0x00 50B3 RST RST_SR
//
// 0x00 50B4 to Reserved area (12 bytes)
// 0x00 50BF

// 0x00 50C0 CLK CLK_ICKR
// 0x00 50C1 CLK_ECKR
//
// 0x00 50C2 Reserved area (1 byte)
//
// 0x00 50C3 CLK CLK_CMSR
// 0x00 50C4 CLK_SWR
// 0x00 50C5 CLK_SWCR
// 0x00 50C6 CLK_CKDIVR
// 0x00 50C7 CLK_PCKENR1
// 0x00 50C8 CLK_CSSR
// 0x00 50C9 CLK_CCOR
// 0x00 50CA CLK_PCKENR2
// 0x00 50CB CLK_CANCCR
// 0x00 50CC CLK_HSITRIMR
// 0x00 50CD CLK_SWIMCCR
//
// 0x00 50CE to Reserved area (3 bytes)
// 0x00 50D0
//
// 0x00 50D1 WWDG WWDG_CR
// 0x00 50D2 WWDG_WR
//
// 0x00 50D3 to Reserved area (13 bytes)
// 0x00 50DF
//
// 0x00 50E0 IWDG IWDG_KR
// 0x00 50E1 IWDG_PR
// 0x00 50E2 IWDG_RLR
//
// 0x00 50E3 to Reserved area (13 bytes)
// 0x00 50EF

// 0x00 50F0 AWU AWU_CSR1
// 0x00 50F1 AWU_APR
// 0x00 50F2 AWU_TBR
// 0x00 50F3 BEEP BEEP_CSR
//
// 0x00 50F4 to Reserved area (12 bytes)
// 0x00 50FF
//
// 0x00 5200 SPI SPI_CR1
// 0x00 5201 SPI_CR2
// 0x00 5202 SPI_ICR
// 0x00 5203 SPI_SR

// 0x00 5204 SPI_DR
// 0x00 5205 SPI_CRCPR
// 0x00 5206 SPI_RXCRCR
// 0x00 5207 SPI_TXCRCR
//
// 0x00 5208 to Reserved area (8 bytes)
// 0x00 520F
//
// 0x00 5210 I2C I2C_CR1
// 0x00 5211 I2C_CR2
// 0x00 5212 I2C_FREQR
// 0x00 5213 I2C_OARL
// 0x00 5214 I2C_OARH
// 0x00 5215 Reserved
// 0x00 5216 I2C_DR
// 0x00 5217 I2C_SR1
// 0x00 5218 I2C_SR2
// 0x00 5219 I2C_SR3
// 0x00 521A I2C_ITR
// 0x00 521B I2C_CCRL
// 0x00 521C I2C_CCRH
// 0x00 521D I2C_TRISER
// 0x00 521E I2C_PECR
//
// 0x00 521F to Reserved area (17 bytes)
// 0x00 522F
//
// 0x00 5230 to Reserved area (6 bytes)
// 0x00 523F
//
// 0x00 5240 UART2 UART2_SR
// 0x00 5241 UART2_DR
// 0x00 5242 UART2_BRR1
// 0x00 5243 UART2_BRR2
// 0x00 5244 UART2_CR1
// 0x00 5245 UART2_CR2
// 0x00 5246 UART2_CR3
// 0x00 5247 UART2_CR4
// 0x00 5248 UART2_CR5
// 0x00 5249 UART2_CR6
// 0x00 524A UART2_GTR
// 0x00 524B UART2_PSCR
//
// 0x00 524C to Reserved area (4 bytes)
// 0x00 524F
//
// 0x00 5250 TIM1 TIM1_CR1
// 0x00 5251 TIM1_CR2
// 0x00 5252 TIM1_SMCR
// 0x00 5253 TIM1_ETR
// 0x00 5254 TIM1_IER
// 0x00 5255 TIM1_SR1
// 0x00 5256 TIM1_SR2
// 0x00 5257 TIM1_EGR
// 0x00 5258 TIM1_CCMR1
// 0x00 5259 TIM1_CCMR2
// 0x00 525A TIM1_CCMR3
// 0x00 525B TIM1_CCMR4
// 0x00 525C TIM1_CCER1
// 0x00 525D TIM1_CCER2
// 0x00 525E TIM1_CNTRH
// 0x00 525F TIM1_CNTRL
// 0x00 5260 TIM1_PSCRH
// 0x00 5261 TIM1_PSCRL
// 0x00 5262 TIM1_ARRH
// 0x00 5263 TIM1_ARRL
// 0x00 5264 TIM1_RCR
// 0x00 5265 TIM1_CCR1H
// 0x00 5266 TIM1_CCR1L
// 0x00 5267 TIM1_CCR2H
// 0x00 5268 TIM1_CCR2L
// 0x00 5269 TIM1_CCR3H
// 0x00 526A TIM1_CCR3L
// 0x00 526B TIM1_CCR4H
// 0x00 526C TIM1_CCR4L
// 0x00 526D TIM1_BKR
// 0x00 526E TIM1_DTR
// 0x00 526F TIM1_OISR
//
// 0x00 5270 to Reserved area (147 bytes)
// 0x00 52FF
//
// 0x00 5300 TIM2 TIM2_CR1
// 0x00 5301 TIM2_IER
// 0x00 5302 TIM2_SR1
// 0x00 5303 TIM2_SR2
// 0x00 5304 TIM2_EGR
// 0x00 5305 TIM2_CCMR1
// 0x00 5306 TIM2_CCMR2
// 0x00 5307 TIM2_CCMR3
// 0x00 5308 TIM2_CCER1
// 0x00 5309 TIM2_CCER2
// 0x00 530A TIM2_CNTRH
// 0x00 530B TIM2_CNTRL
// 0x00 530C TIM2_PSCR
// 0x00 530D TIM2_ARRH
// 0x00 530E TIM2_ARRL
// 0x00 530F TIM2_CCR1H
// 0x00 5310 TIM2_CCR1L
// 0x00 5311 TIM2_CCR2H
// 0x00 5312 TIM2_CCR2L
// 0x00 5313 TIM2_CCR3H
// 0x00 5314 TIM2_CCR3L
//
// 0x00 5315 to Reserved area (11 bytes)
// 0x00 531F
//
// 0x00 5320 TIM3 TIM3_CR1
// 0x00 5321 TIM3_IER
// 0x00 5322 TIM3_SR1
// 0x00 5323 TIM3_SR2
// 0x00 5324 TIM3_EGR
// 0x00 5325 TIM3_CCMR1
// 0x00 5326 TIM3_CCMR2
// 0x00 5327 TIM3_CCER1
// 0x00 5328 TIM3_CNTRH
// 0x00 5329 TIM3_CNTRL
// 0x00 532A TIM3_PSCR
// 0x00 532B TIM3_ARRH
// 0x00 532C TIM3_ARRL
// 0x00 532D TIM3_CCR1H
// 0x00 532E TIM3_CCR1L
// 0x00 532F TIM3_CCR2H
// 0x00 5330 TIM3_CCR2L
// 0x00 5331 to Reserved area (15 bytes)
// 0x00 533F
// 0x00 5340 TIM4 TIM4_CR1
// 0x00 5341 TIM4_IER
// 0x00 5342 TIM4_SR
// 0x00 5343 TIM4_EGR
// 0x00 5344 TIM4_CNTR
// 0x00 5345 TIM4_PSCR
// 0x00 5346 TIM4_ARR
// 0x00 5347 to Reserved area (153 bytes)
// 0x00 53DF
// 0x00 53E0 to ADC1 ADC _DBxR
// 0x00 53F3
// 0x00 53F4 to Reserved area (12 bytes)
// 0x00 53FF
// 0x00 5400 ADC1 ADC _CSR
// 0x00 5401 ADC_CR1
// 0x00 5402 ADC_CR2
// 0x00 5403 ADC_CR3
// 0x00 5404 ADC_DRH
// 0x00 5405 ADC_DRL
// 0x00 5406 ADC_TDRH
// 0x00 5407 ADC_TDRL
// 0x00 5408 ADC_HTRH
// 0x00 5409 ADC_HTRL
// 0x00 540A ADC_LTRH
// 0x00 540B ADC_LTRL
// 0x00 540C ADC_AWSRH
// 0x00 540D ADC_AWSRL
// 0x00 540E ADC _AWCRH
// 0x00 540F ADC_AWCRL
// 0x00 5410 to Reserved area (1008 bytes)
// 0x00 57FF
// 0x00 7F00 CPU(1) A
// 0x00 7F01 PCE
// 0x00 7F02 PCH
// 0x00 7F03 PCL
// 0x00 7F04 XH
// 0x00 7F05 XL
// 0x00 7F06 YH
// 0x00 7F07 YL
// 0x00 7F08 SPH
// 0x00 7F09 SPL
// 0x00 7F0A CCR
// 0x00 7F0B to Reserved area (85 bytes)
// 0x00 7F5F
// 0x00 7F60 CPU CFG_GCR
// 0x00 7F70 ITC ITC_SPR1
// 0x00 7F71 ITC_SPR2
// 0x00 7F72 ITC_SPR3
// 0x00 7F73 ITC_SPR4
// 0x00 7F74 ITC_SPR5
// 0x00 7F75 ITC_SPR6
// 0x00 7F76 ITC_SPR7
// 0x00 7F77 ITC_SPR8
// 0x00 7F78 to Reserved area (2 bytes)
// 0x00 7F79
// 0x00 7F80 SWIM SWIM_CSR
// 0x00 7F81 to Reserved area (15 bytes)
// 0x00 7F8F
// 0x00 7F90 DM DM_BK1RE
// 0x00 7F91 DM_BK1RH
// 0x00 7F92 DM_BK1RL
// 0x00 7F93 DM_BK2RE
// 0x00 7F94 DM_BK2RH
// 0x00 7F95 DM_BK2RL
// 0x00 7F96 DM_CR1
// 0x00 7F97 DM_CR2
// 0x00 7F98 DM_CSR1
// 0x00 7F99 DM_CSR2
// 0x00 7F9A DM_ENFCTR
// 0x00 7F9B to Reserved area (5 bytes)
// 0x00 7F9F
//
//   RESET Reset Yes Yes 0x00 8000
//   TRAP Software interrupt - - 0x00 8004
// 0 TLI External top level interrupt - - 0x00 8008
// 1 AWU Auto wake up from halt - Yes 0x00 800C
// 2 CLK Clock controller - - 0x00 8010
// 3 EXTI0 Port A external interrupts Yes(1) Yes(1) 0x00 8014
// 4 EXTI1 Port B external interrupts Yes Yes 0x00 8018
// 5 EXTI2 Port C external interrupts Yes Yes 0x00 801C
// 6 EXTI3 Port D external interrupts Yes Yes 0x00 8020
// 7 EXTI4 Port E external interrupts Yes Yes 0x00 8024
// 8 0x00 8028
// 9 Reserved - - 0x00 802C
// 10 SPI End of transfer Yes Yes 0x00 8030
//    TIM1 update/ overflow/ - - 0x00 8034
//    underflow/ trigger/ break
// 11 TIM1
// 12 TIM1 TIM1 capture/ compare - - 0x00 8038
// 13 TIM TIM update/ overflow - - 0x00 803C
// 14 TIM TIM capture/ compare - - 0x00 8040
// 15 TIM3 Update/ overflow - - 0x00 8044
// 16 TIM3 Capture/ compare - - 0x00 8048
// 17 Reserved - - 0x00 804C
// 18 Reserved - - 0x00 8050
// 19 I2C I2C interrupt Yes Yes 0x00 8054
// 20 UART2 Tx complete - - 0x00 8058
//    Receive register DATA - - 0x00 805C
//    FULL
// 21 UART2
//    ADC1 end of conversion/ - - 0x00 8060
//    analog watchdog interrupt
// 22 ADC1
// 23 TIM TIM update/ overflow - - 0x00 8064
// 24 Flash EOP/ WR_PG_DIS - - 0x00 8068
//    0x00 806C
//    to 0x00
//    807C
// Reserved
//
// Read-out OPT0 ROP [7:0] 00h
// protection
// (ROP)
//
// 0x4800
//        User boot OPT1 UBC [7:0] 00h
//        code(UBC)
// 0x4801
// 0x4802 NOPT1 NUBC [7:0] FFh
//        Alternate OPT2 AFR7 AFR6 AFR5 AFR4 AFR3 AFR2 AFR1 AFR0 00h
//        function
// 0x4803
// 0x4804 NOPT2 NAFR7 NAFR6 NAFR5 NAFR4 NAFR3 NAFR2 NAFR1 NAFR0 FFh
//        remapping
//        (AFR)
//        WWDG 00h
//        _HALT
//        WWDG
//        _HW
//         IWDG
//        _HW
//        HSI LSI_ EN
//        TRIM
//        Miscell. OPT3 Reserved
//        option
// 0x4805 h
//        NWW FFh
//        G_HALT
//        NWWDG
//        _HW
//        NIWDG
//        _HW
//        NLSI_
//        EN
//        NHSI
//        TRIM
// 0x4806 NOPT3 Reserved
//        CKAWU PRS C1 PRS C0 00h
//        SEL
//        Clock OPT4 Reserved EXT CLK
//        option
// 0x4807
//        NPR FFh
//        SC0
//        NCKA NPRSC1
//        WUSEL
//        NEXT
//        CLK
// 0x4808 NOPT4 Reserved
//        HSE clock OPT5 HSECNT [7:0] 00h
//        startup
// 0x4809
// 0x480A NOPT5 NHSECNT [7:0] FFh
// 0x480B Reserved OPT6 Reserved 00h
//
// 0x480C NOPT6 Reserved FFh
// 0x480D Reserved OPT7 Reserved 00h
// 0x480E NOPT7 Reserved FFh
// 0x487E Bootloader OPTBL BL[7:0] 00h
// 0x487F NOPTBL NBL[7:0] FFh
//        X co-ordinate U_ID[7:0]
//        on the wafer
// 0x48CD
// 0x48CE U_ID[15:8]
//        Y co-ordinate U_ID[23:16]
//        on the wafer
// 0x48CF
// 0x48D0 U_ID[31:24]
// 0x48D1 Wafer number U_ID[39:32]
//        U_ID[47:40]
//        Lot number
// 0x48D2
// 0x48D3 U_ID[55:48]
// 0x48D4 U_ID[63:56]
// 0x48D5 U_ID[71:64]
// 0x48D6 U_ID[79:72]
// 0x48D7 U_ID[87:80]
// 0x48D8 U_ID[95:88]
//

// 内部発振 選択 16MHz 1/3=5.33MHz
// 10bitの分解能
// 16 MHz high-speed internal RC oscillator (HSI)
// 1回変換と連続変換 スキャンを完了するとオーバーフラグが立ちます。
データを読み込んだ後A/D ON-BITを立てると変換が始まります。
ADC1とADC2 が有ります
Left alignment of dataを使い上8bitはADC_DRHに入ります。

次ぎのように設定すると最初の3chを変換して終わります。
ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_2, ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_ALL, DISABLE);
ADC(0-9)=   0  112  225    0    0    0    0    0    0    0
mV(0-9) =   0  360  725    0    0    0    0    0    0    0
LCDの仕様とSTM8Sのポートを見て考えて、
STM8Sのポートは、なるべく他の機能へピンアサインされてないピンをLCD用途に使います。

WS001143.JPG
 


コメント(0) 

Youtube の動画 著作権は? [色々なこと]

うちらの田舎では、レンタル屋に並ぶCDには思うプログラムがない。
この前見つけて1週間300円(遠距離でこの位の頻度でしか返しに行けない)
を借りたのは、グラモホンの1000円シリーズ。
何だか馬鹿らしい気もした。
しかも好みのプログラムがほとんど無い。

このままでは長く聴けないので、バイノーラルの変換器付き再生機って無いのでしょうか?

 aitendoで適当なのがあり、
(USBは5v電源で動作するがSDカードは3.3vで使っているのに5vでは読み込みません。
(インターフェース回路設定がおかしいかも・・)
SDカードも2枚付けられますが、どの様に使用できるか判っていません。
(ただのパラレルかも、或いはアドレス部分を付けて2枚実装できるか?)

組み立ててみると、接続線回りが貧弱で全部入れ替えることにし、
コネクタや端子類を調達した。
専用圧着プレスは業務用ではないがほどほど使えるので、何とかさまになりそうです。
基本では標準SDカードかUSBメモリを使うも扱いが煩雑になる気がして、
マイクロSDと交換した。
このソケットはピッチや配列も特殊で、載っけるには難儀したが、
ビスパ http://bispa.co.jp/ (他にも沢山面白いものがあるようです)
に専用の変換基板があってこれを使いました。
(押すとイジェクトされるのは便利です)
しかし実際には、スタンダードSDソケットに
マイクロアダプタを付けた方が簡単だったかも知れません。


コメント(0) 

保険と爪の割れについて [日記]


先日保険会社より定期保険満了(65)の予告と、
特約部分の更新について、通告状が来た。
定期保険は80歳までに死んだら、50万貰え、その後なら無し。
物価の推移から棺桶代くらいになるのだろうか?
特約部分を含め今までの保険料1万8000円くらいが、
後4ヶ月払い続け、満了となって解約は出来なくなる。
その後は、年払いで32万ほどになり、(月当て2万7000円ほど)
一括だと80歳まで分、440万ほど払い込まねばならない。

そこで、お勧めの下取り、乗り換え案(解約返戻金を充て)となるが、
これは一部の特約が無くなり(リスクの大きい分)
他の保険金(貰える分)が約半額になって残ること、
80歳までではなく、1生払い続け定期部分が3万ほど多くなること。
支払い保険料は月額8000円ほどと最近流行の医療限定保険より大部高くなる。
と言って、持病持ちで普通の医療限定には入れて貰えない。
(以前聞いたがことわられた・・つかまえたものは離してくれない)

今までに払った保険料は320万として、入院などで貰った保険金は
80万ほど、240万の保険料はは安心代、ご祈祷料として割り切り、
解約をしてしまうしか仕方がないようです。

爪は右手親指の少しの割れが治らず、と言って深くもなって行かず、
仕方がないのでマニキュアをその部分だけ裏表に塗ることにしました。
お風呂でよく見ると極細い毛が挟まっていて引っ張っても取れにくかった。
こんな感じでいつまでもヒビが直らないのでしょうね。

コメント(0) 

ncPOD UPDATE

I did a firm ware up experiment of ncPOD.

Dear sirs
I give it to curl a result with an owner of ncPOD.

It is several kinds, or there is the version of the board.
There is the thing which is not turned on that a red light is turned on and is not related with success of the update.
11 succeeded, and five failed.

Two are necessary for device driver of the USB, and is necessary under "Libusb-Win32 Devices"; nothing of the "ncPOD" name is virtual, and do not become extinct even if outrun you, and put it, and do it.
Nothing of the "ncPOD" name is practical, and become extinct by exclusion and adding, and appear.

I start batch file provided by Microsoft to watch them, and, please turn on "the indication of the indication ー non-indication device".
"set devmgr_show_nonpresent_devices=1"
cd\%SystemRoot%\System32
start devmgmt.msc

http://den-nekonoko.blog.so-net.ne.jp/2012-01-08-1
The virtual driver performs it from installation of the hardware according to order to an image in the state that I connected USB to.
I think, but I judge, and, please judge that images are incomprehensible because they are Japanese.

Installation of the practical driver is to show "ncPOD.inf" to the installation device in the state that I connected USB to, and there is in strike - ル.

"The device instance ID" of the virtual driver was effective in two kinds of the next.
"ROOT\LIBUSBDIVICES\0008" "ROOT\UNKNOWN\0000"

As for the instance of the practical driver, as for the contents of the USB driver who went out of OEMTEC in "USB\VID_16C0&PID_056F\0001", all the ranges that I examined were the same.

A PC recognizes it if I connect USB, and a non-indication device is indicated densely, and update is enabled.

The firm ware which I can update has "2031" and "2027", but when I can update it with "2031", and indication except the success does not appear, it is updated normally and can operate it from MACH3.
Even if I work "only with 2027" and appear with update success, I cannot really operate it by failure from MACH3 when it is displayed when I challenge a different window once again.

It is thought that "the error" of the version of MPU includes the problems.
In any case I wish it is improved.
Yours sincerely,

ncPODのファームウエアアップ実験をしました。

拝啓
結果をncPODの所有者とカールしに捧げます。

基板のバージョンは何種類か有り。
赤ランプが点くものと点かない物があり、
アップデートの成功と関係しません。
11個が成功し5個が失敗しました。

USBのデバイスドライバに2個が必要で
「Libusb-Win32 Devices」の下に必要で
1個は「ncPOD」名の仮想的であり、抜き差ししても消滅しません。
1個は「ncPOD」名の実務的であり、抜き差しにより消滅したり出現したりします。

それらを監視するにはマイクロソフトから提供される、
バッチファイルを起動して「表示ー非表示デバイスの表示」をONにして下さい。
「set devmgr_show_nonpresent_devices=1
cd\%SystemRoot%\System32
start devmgmt.msc」

http://den-nekonoko.blog.so-net.ne.jp/2012-01-08-1
仮想的ドライバはUSBを接続した状態で、画像に順序の通りに、
ハードウエアのインストールから行います。
画像類は日本語なので判りにくいと思いますが、類推して判断して下さい。

実務的ドライバのインストールはUSBを接続した状態でインストールデバイスに「ncPOD.inf」を示すことでインスト-ル出来ます。

仮想的ドライバの「デバイスインスタンスID」は
次の2種類で有効でした。
「ROOT\LIBUSBDIVICES\0008」「ROOT\UNKNOWN\0000」

実務的ドライバのインスタンスは「USB\VID_16C0&PID_056F\0001」
でOEMTECから出ているUSBドライバの内容は調べた範囲全部同じでした。

USBを接続したらPCが認識して非表示デバイスが濃く標示され、
アップデートが可能になります。

アップデートできるファームウエアには「2031」と「2027」が有りますが、
「2031」でアップデートできて、成功以外の標示がでない場合は、
正常にアップデートされ、MACH3から操作をすることが出来ます。
「2027」でしか動作しなくて、アップデート成功と出ても、
別の窓にはもう一度挑戦して下さいと表示される場合は実際には失敗で、
MACH3から動作させることが出来ません。

問題点はMPUのバージョンの「誤り」にあると思われます。
いずれにしろ、改善されることを望んでいます。
敬具

WS001097.JPG

WS001098.JPG

WS001099.JPG

WS001100.JPG

WS001101.JPG

WS001102.JPG

WS001103.JPG

WS001104.JPG

WS001105.JPG

WS001106.JPG

WS001107.JPG

WS001108.JPG

WS001111.JPG

WS001113.JPG

 


コメント(0) 
メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。