G2500_LPC11U35早見表

20251115

6:16

G2500_lpc11u35_quick_reference_table

 

各ページのプロジェクトを保存して公開することは、煩雑で不正確になることから、定型コードを早見表として保存し、自身の開発効率のアップをねらいます

 

複数のプロジェクトを同時にインポートする

 

 

 

 

 

 

ヘッダーファイル

 

#include "LPC11Uxx.h"

#include "\LPC\LPC11U35\U35_KYO\type.h"

#include <stdlib.h>                // atoi()活用のため

#include <string.h>                // atoi()活用のため

 

#include "\LPC\LPC11U35\U35_KYO\uart_LPC11U35.h"

#include "\LPC\LPC11U35\U35_KYO\i2c_LPC11U35.h"

#include "\LPC\LPC11U35\U35_KYO\adc_LPC11U35.h"

#include "\LPC\LPC11U35\U35_KYO\ssp_LPC11U35.h"

 

#include "\LPC\LPC11U35\U35_KYO\lpc11u35_kyo.h"

#include "\LPC\lpc_kyo.h"

 

#include <cr_section_macros.h>

#include <NXP/crp.h>

 

//__CRP const unsigned int CRP_WORD = CRP_NO_CRP;

 

////////////////////////////////////////////////

// ここに、グローバル変数を定義します

//volatile uint8_t CS_pin = 0;

// volatile は調査継続中、おまじない程度

////////////////////////////////////////////////

 

待機タイマーを使うときの共通関数

 

//                インターバル割り込み関数を msec 待ち時間関数に活用しています

void SysTick_Handler(void)

{

if(--Goma_msec_wait_cnt == 0)

{        NVIC_DisableIRQ(SysTick_IRQn);                // 割り込み無効

}

}

 

 

main() 関数の定型文

 

int main(void)

{

//        シリアル通信の受信データ

uint8_t        rcv_buf_max = 40;

char        rcv_buf[40+2];

uint8_t rcv_cnt = 0;

 

uint8_t led_pin = 1;                // 1番ピンをLEDモニタとします

 

    pin_set_output(led_pin); // LEDモニタピンを出力に設定します

 

SystemCoreClockUpdate();                // システムクロックを初期化します

UART_Configuration(115200);    // (1) UARTの初期化(通信速度9600bps

 

UART_puts("LPC11U35 THERMAL HOT\r\n");

 

I2C通信の初期化

 

LPC_i2c_init();                // I2C初期化

 

速度計測の基本処理

 

// 命令の処理時間を計測するための自動変数です

uint32_t loop_cnt = 0;        // カウンター変数

uint32_t loop_cnt_max = 0;// 最大値追加

uint8_t loop_stop_cnt = 99;        // 送信オーバーフロー防止カウンター

 

while(1)

    {

// 送信オーバーフロー防止のため、停止カウンター処理を追加します

if(loop_stop_cnt < 5)

{

++loop_cnt;

if(loop_cnt_max < loop_cnt)

{        // 指示された回数ループしました

UART_msg_dec("max=",loop_cnt_max,"\r\n");

loop_cnt = 0;

++loop_stop_cnt;        // 計測回数制限のための加算

}

 

// 速度計測

 

}

 

シリアル通信のコマンド処理の定型文

 

while(1)

    {

 

// コマンド受信

if(UART_rcv_buf_get(rcv_buf,&rcv_cnt,rcv_buf_max) == 0) continue;

 

// 受信をLEDで確認する

pin_out(led_pin,0,'m',300);        pin_out(led_pin,1,'m',0);

 

            if(rcv_buf[0] == 's' || rcv_buf[0] =='S')                // 反応するI2Cアドレス調査

            {

                    LPC_i2c_add_all_chk();

            }

 

            if(rcv_buf[0] == 'a' || rcv_buf[0] == 'A')

            {

                    // ループ速度の計測指示を処理します

                    // 9桁制限があります

                    loop_cnt_max = cha_dec_to_int(rcv_buf,1,9);

                    loop_cnt = 0;

                    loop_stop_cnt = 0;        // 停止カウンターを初期化することでスタートさせます

 

                    UART_msg_dec("start cnt_max=",loop_cnt_max,"\r\n");

            }

 

            if(rcv_buf[0] == 'B' || rcv_buf[0] =='b')

            {

            }

 

 

            if(rcv_buf[0] == 'c' || rcv_buf[0] =='C')

            {

            }

 

            if(rcv_buf[0] == 'd' || rcv_buf[0] =='D')

            {

                    // 内蔵AD変換の実験をします

                    // コマンド解析

                    // 0123456

                    // D0

 

                    ch = cha_dec_to_int(rcv_buf,1,1);

                    ad_dat = Get_ADC_Data(ch);

                    UART_puts("Bilt-in AD CH=");

                    UART_putdec(ch);

                    UART_puts("  DAT=");

                    UART_putdec(ad_dat);

                    UART_puts("\r\n");

 

            }

 

 

            if(rcv_buf[0] == 'T' || rcv_buf[0] == 't')

            {

                    // 時計登録         TyyyymmddHHMMWW

                    //rcv_buf_to_cal_tbl(rcv_buf,cal_tbl);

                    //err = ds1307_cal_wrt(cal_tbl);

                    //if(err != 0) UART_msg_dec("I2C_ERR=",err,"\r\n");

 

            }

 

 

 

 

            if(rcv_buf[0] == 'z' || rcv_buf[0] == 'Z')

            {

 

 

            }

 

            UART_rcv_buf_clr(rcv_buf,&rcv_cnt);                // 受信コマンド初期化

 

    }        // while()