91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: 其他
  • 標簽: tx2??

資源簡介

使用這個測試案例時確保i2c總線頻率為50khz,代碼中的設備號根據實際情況修改,我用了i2c-1,驅動命令字不用修改

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“atsha204a_comm.h“

#define?ATSHA204_ADDR?(0xc8)

static?unsigned?char?(*atsha204a_i2c_read)(unsigned?char?unsigned?char?unsigned?char?*?int);
static?unsigned?char?(*atsha204a_i2c_write)(unsigned?char?unsigned?char?unsigned?char?*?int);

int?atsha204a_set_i2c_func(
????unsigned?char?(*i2c_read)(unsigned?char?unsigned?char?unsigned?char?*?int)
????unsigned?char?(*i2c_write)(unsigned?char?unsigned?char?unsigned?char?*?int)

{
????if?(i2c_read?==?NULL?||?i2c_write?==?NULL)?{
????????return?1;
????}

????atsha204a_i2c_read?=?i2c_read;
????atsha204a_i2c_write?=?i2c_write;
????return?0;
}

static?void?msleep(int?msec)
{
????usleep(msec?*?1000);
}

/*
?*?CRC計算,從atsha204代碼庫移植過來
?*/
static?void?sha204c_calculate_crc(unsigned?char?length?unsigned?char?*data?unsigned?char?*crc)
{
????unsigned?char?counter;
????unsigned?short?crc_register?=?0;
????unsigned?short?polynom?=?0x8005;
????unsigned?char?shift_register;
????unsigned?char?data_bit?crc_bit;
????for?(counter?=?0;?counter?????{
????????for?(shift_register?=?0x01;?shift_register?>?0x00;?shift_register?<<=?1)
????????{
????????????data_bit?=?(data[counter]?&?shift_register)???1?:?0;
????????????crc_bit?=?crc_register?>>?15;
????????????//?Shift?CRC?to?the?left?by?1.
????????????crc_register?<<=?1;
????????????if?((data_bit?^?crc_bit)?!=?0)
????????????{
????????????????crc_register?^=?polynom;
????????????}
????????}
????}
????crc[0]?=?(unsigned?char)?(crc_register?&?0x00FF);
????crc[1]?=?(unsigned?char)?(crc_register?>>?8);
}

/*
?*?CRC校驗,從atsha204代碼庫移植過來
?*/
static?unsigned?char?sha204c_check_crc(unsigned?char?length?unsigned?char??*data)
{
????unsigned?char??crc[2];
????sha204c_calculate_crc(length-2?data?crc);
????return?(crc[0]?==?data[length?-?2]?&&?crc[1]?==?data[length?-?1])???SHA204_SUCCESS?:?SHA204_BAD_CRC;
}

static?int?atsha204a_send_command(struct?atsha204a_command_packet?*command_packet)
{
????unsigned?char?command_buffer_len?=?7?+?command_packet->data_len;
????unsigned?char?command_buffer[48];

????if?(command_packet->data_len?>?32)
????????return?SHA204_INVALID_SIZE;

????command_buffer[0]?=?command_buffer_len;
????command_buffer[1]?=?command_packet->op_code;
????command_buffer[2]?=?command_packet->param1;
????command_buffer[3]?=?command_packet->param2[0];
????command_buffer[4]?=?command_packet->param2[1];

????if(command_packet->data_len?>?0)?{
????????memcpy(command_buffer+5?command_packet->data?command_packet->data_len);
????}

????sha204c_calculate_crc(command_buffer_len-2?command_buffer?command_buffer+command_buffer_len-2);

????atsha204a_i2c_write(ATSHA204_ADDR?0x03?command_buffer?command_buffer_len);

????return?0;
}

/*
?*?讀取操作命令的response內容,讀取的地址都為0x00
?*/
static?int?atsha204a_recv_response(unsigned?char?length?unsigned?char?*response_data)
{
????atsha204a_i2c_read(ATSHA204_ADDR?0x00?re

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3895??2018-03-07?12:40??TX2-I2C_ATSHA201A\atsha204a_comm.c

?????文件???????2418??2018-03-07?12:40??TX2-I2C_ATSHA201A\atsha204a_comm.h

?????文件???????1690??2018-09-10?16:34??TX2-I2C_ATSHA201A\atsha204a_i2c.c

?????文件????????253??2018-03-07?12:40??TX2-I2C_ATSHA201A\atsha204a_i2c.h

?????文件????????747??2018-03-07?12:40??TX2-I2C_ATSHA201A\atsha204a_test.c

?????文件????????228??2018-03-06?16:45??TX2-I2C_ATSHA201A\Makefile

?????目錄??????????0??2018-09-10?16:34??TX2-I2C_ATSHA201A

-----------?---------??----------?-----??----

?????????????????9231????????????????????7


評論

共有 條評論