Yuta Togashi / bitCommunication_Ver2

Dependents:   Tourobo2022_TBCMotorDriver

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers bitCommunication.cpp Source File

bitCommunication.cpp

00001 #include "bitCommunication.h"
00002 #include "mbed.h"
00003 
00004 /************************************書き込み*****************************************/
00005 /**変数にreturnするバージョン**/
00006 int bitWrite(int data,int bitNumber,bool content) {
00007     int result;
00008     if(content) {
00009         result = data | (0b00000001 << bitNumber);
00010     } else {
00011         result = data & (~(0b00000001 << bitNumber));
00012     }
00013     return result;
00014 }
00015 
00016 /**アドレスを受け取って処理するバージョン**/
00017 void bitWrite(int *dataAdress,int bitNumber,bool content) {
00018     if(content) {
00019         *dataAdress = *dataAdress | (0b00000001 << bitNumber);
00020     } else {
00021         *dataAdress = *dataAdress & (~(0b00000001 << bitNumber));
00022     }        
00023 }
00024 
00025 /**配列のアドレスを受け取って処理するバージョン**/
00026 void bitWrite(int *dataArray,int arrayNumber,int bitNumber,bool content) {
00027     if(content) {
00028         dataArray[arrayNumber] =  dataArray[arrayNumber] | (0b00000001 << bitNumber);
00029     } else {
00030         dataArray[arrayNumber] = dataArray[arrayNumber] & (~(0b00000001 << bitNumber));
00031     }
00032 }
00033 
00034 /************************************読み込み******************************************/
00035 /**指定したbitが0or1かをreturn**/
00036 int bitRead(int data,int bitNumber) {
00037     int result=0;
00038     result = (data >> bitNumber) & 0b00000001;
00039     return result;
00040 }