|
「逆引き PIC電子工作 やりたいこと事典」正誤表
技術評論社 ISBN978-4-297-10283-8
誤りがありましたら是非メールでお知らせ下さい。
|
ページ 章・節 |
行数 正 誤 内 容 |
更新月日 |
|
|
|
P77 注意 |
ここに掲載されている液晶表示器の回路図はSD1602HULB用です。
SC1602Bを使う場合にはピン配置が異なりますので注意してください
特にVDDとVSSが逆になっています。 |
2021/2/23 |
P82 リスト1 |
MCCのI2Cライブラリの変更により下記修正 /*********************************
* 液晶へ1文字表示データ出力
*********************************/
void lcd_data(uint8_t data){
unsigned char tbuf[2]; // バッファ構成
tbuf[0] = 0x40; // データ指定
tbuf[1] = data; // 文字データ
while(!I2C1_Open(0x3E)); // バス取得
I2C1_SetBuffer(tbuf,2);
I2C1_MasterWrite();
while(I2C1_BUSY == I2C1_Close());// 通信終了待ち
__delay_us(30); // 処置待ち遅延
}
/*******************************
* 液晶へ1コマンド出力
*******************************/
void lcd_cmd(uint8_t cmd){
unsigned char tbuf[2]; // バッファ構成
tbuf[0] = 0x00; // コマンド指定
tbuf[1] = cmd; // コマンドデータ
while(!I2C1_Open(0x3E)); // バス取得
I2C1_SetBuffer(tbuf,2);
I2C1_MasterWrite();
while(I2C1_BUSY == I2C1_Close()); // 通信終了待ち
/* ClearかHomeか */
if((cmd == 0x01)||(cmd == 0x02))
__delay_ms(2); // 2msec待ち
else
__delay_us(30); // 30μsec待ち
} |
2023/3/14 |
P96,P97 |
MCCのSPIライブラリの変更により下記部分を変更
リスト1 SYSTEM_Inirialize();
SPI_Open(0); <--追加
リスト2(a) 2か所
SPI_Exchange8bit(cmnd);
→ SPI_ExchangeByte(cmnd);
SPI_Exchange8bit(data);
→ SPI_ExchangeByte(data); |
2020/11/2 |
P225 表1 |
MCCのI2Cライブラリの書式変更と新規関数追加
|
2023/3/14 |
P225 リスト1 |
MCCの I2Cライブラリの変更により上表の使用例にしたがって変更
/*********************
* 1バイトデータ送信
********************/
void SendI2C(uint8_t Adrs, uint8_t Data){
uint8_t tbuf[1];
tbuf[0] = Data;
while(!I2C1_Open(Adrs)); // バス取得
I2C1_SetBuffer(tbuf, 1); // バッファ指定
I2C1_MasterWrite(); // 送信実行
while(I2C1_BUSY == I2C1_Close()); // 通信終了待ち
/*********************
* コマンド送信
**********************/
void Send_data(uint8_t Adrs, uint8_t Reg, uint8_t Data)
{
unsigned char tbuf[2]; // バッファ準備
tbuf[0] = Reg; // 送信データ
tbuf[1] = Data; // 送信データ
while(!I2C1_Open(Adrs)); // バス取得
I2C1_SetBuffer(tbuf,2); // バッファ指定
I2C1_MasterWrite(); // 送信実行
while(I2C1_BUSY == I2C1_Close()); // 通信終了待ち
} /*******************************
* 指定バイト数の受信
*******************************/
void GetDataI2C(uint8_t Adrs, uint8_t *Buffer, uint8_t Cnt){
uint8_t tbuf[Cnt];
while(!I2C2_Open(Adrs)); // バス取得
I2C2_SetBuffer(tbuf, Cnt); // バッファ用意
I2C2_MasterRead(); // 読み出し実行
while(I2C2_BUSY == I2C2_Close()); // 通信終了待ち
for(i=0; i<Cnt; i++)
*Buffer++ = tbuf[i];
} |
2023/3/14 |
P227 表1 リスト1 |
SPI_Exchange8bit → SPI_ExchangeByte
SPI_Exchange8bit → SPI_ExchangeByte |
2023/3/14 |
P246 図1 |
誤 CCP1 Capture
正 CCP1 Compare |
2019/8/30 |
P246 図2 |
誤 IC1 PIC16F1778
正 IC1 PIC16F18857 |
2019/8/30 |
P247 リスト1 下から11行目 |
誤 CCP1_SetCompareCount(31260);
正 CCP1_SetCompareCount(31250); |
2019/8/30 |
P268 図2 |
誤 スイッチS1抜け
正 RA7ピンにS1の接続を追加 (P126の図2参照) |
2021/1/27 |
P311 図2の右下の表 |
誤 PMOD2
正 PMOD0 |
2023/3/14 |
|
|
|