{"id":6442,"date":"2024-01-21T20:48:36","date_gmt":"2024-01-21T11:48:36","guid":{"rendered":"https:\/\/kats-eye.net\/info\/?p=6442"},"modified":"2024-01-21T20:49:33","modified_gmt":"2024-01-21T11:49:33","slug":"raspberry-pi-picol6480","status":"publish","type":"post","link":"https:\/\/kats-eye.net\/info\/2024\/01\/21\/raspberry-pi-picol6480\/","title":{"rendered":"Raspberry Pi Pico \u3067L6480\u30b9\u30c6\u30c3\u30d4\u30f3\u30b0\u30e2\u30fc\u30bf\u30fc\u30c9\u30e9\u30a4\u30d0\u30fc\u3092\u4f7f\u3046"},"content":{"rendered":"\n<h2>\u6982\u8981<\/h2>\n\n\n\n<p>\u3000\u30b9\u30c8\u30ed\u30d9\u30ea\u30fc\u30fb\u30ea\u30ca\u30c3\u30af\u30b9\u793e\u3067\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308bL6480\u30c9\u30e9\u30a4\u30d0\u30fc\u3092\u4f7f\u3063\u3066\u307f\u307e\u3057\u305f\u3002\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u4e0a\u3067\u4f7f\u3044\u65b9\u306a\u3069\u3042\u307e\u308a\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u5fd8\u5099\u9332\u3068\u3057\u3066\u6982\u8981\u3092\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br>\u3000\u30fbL6480 \u5927\u96fb\u6d41\uff7d\uff83\uff6f\uff8b\uff9f\uff9d\uff78\uff9e\uff93\uff70\uff80 \uff84\uff9e\uff97\uff72\uff8a\uff9e\uff70<br>\u3000\u30fb57mm \u5927\u578b\uff7d\uff83\uff6f\uff8b\uff9f\uff9d\uff78\uff9e\uff93\uff70\uff80\uff08ST-57BYG076-3004D\uff09<br><br>\u3000\u767a\u71b1\u30fb\u30e2\u30fc\u30bf\u30fc\u51fa\u529b\u7b49\u3082\u5927\u304d\u304f\u306a\u308a\u307e\u3059\u306e\u3067\u3001\u53c2\u8003\u306b\u3055\u308c\u308b\u5834\u5408\u306f\u5b89\u5168\u9762\u7b49\u306b\u6ce8\u610f\u3057\u3066\u81ea\u5df1\u8cac\u4efb\u3067\u304a\u9858\u3044\u81f4\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2>\u63a5\u7d9a<\/h2>\n\n\n\n<p> \u3000\u5c11\u3057\u524d\u306bRaspberryPiPico\u3068L6470\u306e\u63a5\u7d9a\u306b\u3064\u3044\u3066\u66f8\u304d\u307e\u3057\u305f\u304c\u3001\u305d\u3053\u306b\u4e0b\u56f3\u306e\u901a\u308aL6480\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002\u6539\u3081\u3066\u898b\u308b\u3068L6470\u3068\u540c\u3058\u69d8\u306a\u30d4\u30f3\u306e\u914d\u7f6e\u306b\u306a\u3063\u3066\u3044\u308b\u3068\u5224\u308a\u307e\u3057\u305f\u3002<br>\u3000L6480\u306e\u5834\u5408\u306f\u3001Pin10\uff08\uff5eSTBY\uff09\u3092\u591a\u304f\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002\uff5eSTBY\u4fe1\u53f7\u3092\u5165\u529b\u3057\u306a\u3044\u3068\u52d5\u4f5c\u3057\u306a\u3044\u69d8\u306b\u7406\u89e3\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" width=\"1024\" height=\"663\" src=\"https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2024\/01\/L6480_1-1024x663.png\" alt=\"\" class=\"wp-image-6444\" srcset=\"https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2024\/01\/L6480_1-1024x663.png 1024w, https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2024\/01\/L6480_1-300x194.png 300w, https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2024\/01\/L6480_1-768x497.png 768w, https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2024\/01\/L6480_1.png 1195w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<h2>\u30c6\u30b9\u30c8\u30d7\u30ed\u30b0\u30e9\u30e0<\/h2>\n\n\n\n<p>\u3000\u30c6\u30b9\u30c8\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\u3002L6470\uff0cL6480 \u3092\u4f7f\u3063\u3066\uff12\u3064\u306e\u30e2\u30fc\u30bf\u3092\u52d5\u304b\u3057\u3066\u3044\u307e\u3059\u3002\u539f\u70b9\u30bb\u30f3\u30b5\u30fc\u7b49\u3092\u3064\u3051\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u3057\u3063\u304b\u308a\u78ba\u8a8d\u3067\u304d\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u539f\u70b9\u8a2d\u5b9a\u3001\u4f4d\u7f6e\u6c7a\u3081\u7b49\u3082\u51fa\u6765\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-c\" data-file=\"20240121_PICO_SPI_L6480_TEST_5.ino\" data-lang=\"C\"><code>#include &lt;SPI.h&gt;\n\n\/\/ \u30d4\u30f3\u5b9a\u7fa9\u3002\n#define PIN_SPI_MOSI 19               \/\/ \u25a0SPI TX\n#define PIN_SPI_SCK 18                \/\/ \u25a0SPI SCK\n#define PIN_SPI_MISO 16               \/\/ \u25a0SPI RX\n\n#define L6470_SPI_SS 17               \/\/ \u25bdL6470 \u30c7\u30d0\u30a4\u30b9\u9078\u629e\n#define L6470_BUSY 20                 \/\/ \u25bdL6470 BUSY\n\n#define L6480_STBY 26                 \/\/ \u25b2L6480 STAND BY\n#define L6480_SPI_SS 27               \/\/ \u25b2L6480 \u30c7\u30d0\u30a4\u30b9\u9078\u629e\n#define L6480_BUSY 28                 \/\/ \u25b2L6480 BUSY\n\n#define PIN_LMT_ORG 21                \/\/ \u539f\u70b9SW\n#define PIN_LMT_END 22                \/\/ \u7aef\u90e8SW\n\n#define PIN_DRV_LED 14                \/\/ LED1\n#define PIN_LMT_LED 15                \/\/ LED2\n\nint spi_dvs = 0;\nint val_org = 0;\nint val_end = 0;\nint val_bsy = 0;\nint sts_origin=0;                     \/\/ \u539f\u70b9\u5fa9\u5e30\u30b9\u30c6\u30fc\u30bf\u30b9\n\n\n\/\/ \u8d77\u52d5\u6642\u5b9f\u884c\nvoid setup()\n{\n  Serial.begin(9600);\n  delay(1000);\n\n  pinMode(PIN_SPI_MOSI, OUTPUT);      \/\/ SPI\u9001\u4fe1\n  pinMode(PIN_SPI_MISO, INPUT);       \/\/ SPI\u53d7\u4fe1\n  pinMode(PIN_SPI_SCK, OUTPUT);       \/\/ SPI\u30af\u30ed\u30c3\u30af\n  \n  pinMode(L6470_SPI_SS, OUTPUT);      \/\/ L6480 SPI\u30b9\u30ec\u30fc\u30d6\u30bb\u30ec\u30af\u30c8\n  pinMode(L6470_BUSY, INPUT);         \/\/ L6470 BUSY\n\n  pinMode(L6480_STBY, OUTPUT);        \/\/ L6480 STAND BY\n  pinMode(L6480_SPI_SS, OUTPUT);      \/\/ L6480 SPI\u30b9\u30ec\u30fc\u30d6\u30bb\u30ec\u30af\u30c8\n  pinMode(L6480_BUSY, INPUT);         \/\/ L6480 BUSY\n  \n  pinMode(PIN_LMT_ORG, INPUT_PULLUP); \/\/ \u539f\u70b9\uff33\uff37\u5165\u529b\n  pinMode(PIN_LMT_END, INPUT_PULLUP); \/\/ \u99c6\u52d5\u7aef\uff33\uff37\u5165\u529b\n  \n  pinMode(PIN_LMT_LED, OUTPUT);       \/\/ LED\u51fa\u529b\uff08\uff98\uff90\uff6f\uff84\u5165\u529b\u6709\uff09\n  pinMode(PIN_DRV_LED, OUTPUT);       \/\/ LED\u51fa\u529b\uff08L6470-BUSY\uff09\n\n  digitalWrite(L6480_STBY, HIGH);     \/\/ L6480 STAND BY(PICO \u2192 L6480 DRIVER)\n  delay(1000);\n   \n  SPI.begin();\n  SPI.setDataMode(SPI_MODE3);\n  SPI.setBitOrder(MSBFIRST);\n  \n  spi_dvs_disenable();                          \/\/ SPI\uff83\uff9e\uff8a\uff9e\uff72\uff7d\u9078\u629e\u89e3\u9664\n\n  spi_dvs = 0;\n  L64X0_rst_device();                           \/\/ L6470\u30fbL6480\u30ea\u30bb\u30c3\u30c8\n  L64X0_set_parameter();                        \/\/ L6470\u30fbL6480\uff8a\uff9f\uff97\uff92\uff70\uff80\u8a2d\u5b9a(\u8a2d\u5b9a\u5f8c\u3001spi_dvs\u306f\u5143\u306b\u623b\u3059)\n\n  L6480_MOVE_TEST_1();\n  spi_dvs = 1;\n}\n\n\/\/ \u30e1\u30a4\u30f3\u30eb\u30fc\u30d7\nvoid loop(){\n  val_org = !digitalRead(PIN_LMT_ORG);          \/\/ \u5165\u529b\u30d4\u30f3\u3092\u8aad\u3080\n  val_end = !digitalRead(PIN_LMT_END);          \/\/ \u5165\u529b\u30d4\u30f3\u3092\u8aad\u3080\n  val_bsy = digitalRead(L6470_BUSY);\n  \n  digitalWrite(PIN_LMT_LED, val_org | val_end); \/\/ LED\u306e\u30d4\u30f3\u3092\u8aad\u307f\u53d6\u3063\u305f\u5024\u306b\u5909\u66f4\n  digitalWrite(PIN_DRV_LED, val_bsy);           \/\/ LED\u306e\u30d4\u30f3\u3092\u8aad\u307f\u53d6\u3063\u305f\u5024\u306b\u5909\u66f4\n\n  if (sts_origin==0){\n    \/\/ \u539f\u70b9\u5fa9\u5e30\u51e6\u7406 400(step\/rot)\u21923200(step\/rot) \u203b\uff8f\uff72\uff78\uff9b\uff7d\uff83\uff6f\uff8c\uff9f  \u203b\u6e1b\u901f\n    get_origin_L6470();                         \/\/ L6470\u539f\u70b9\u5fa9\u5e30\n    sts_origin = 1;\n\n    spi_dvs = 2;\n    L6480_MOVE_TEST_2();\n    \n    spi_dvs = 1;\n  }\n}\n\n\n\/\/ L6480 \u30c7\u30e2\uff12\nvoid L6480_MOVE_TEST_2(){\n  int dvs_tmp = spi_dvs ;\n  spi_dvs = 2;  \n\n  L64X0_data_transfer(0x70,0,0);                \/\/ \u539f\u70b9\u79fb\u52d5\n  L64X0_NOT_BUSY(200);\n\n  L64X0_data_transfer(0x60,3,32000);            \/\/ \u7d76\u5bfe\u4f4d\u7f6e\u79fb\u52d5            \n  L64X0_NOT_BUSY(1000);\n  \n  L64X0_data_transfer(0x60,3,0);                \/\/ \u7d76\u5bfe\u4f4d\u7f6e\u79fb\u52d5\uff08\u539f\u70b9\uff09\n  L64X0_NOT_BUSY(500);\n\n  spi_dvs = dvs_tmp;   \n}\n\n\n\/\/ L6480 \u30c7\u30e2\uff11\nvoid L6480_MOVE_TEST_1(){\n  int dvs_tmp = spi_dvs ;\n  spi_dvs = 2;  \n  \n  L64X0_data_transfer(0x51,3,8000);             \/\/ \u53cd-\u539f\u70b9\u65b9\u5411\uff08\u53f3\uff09\u4e2d\u901f\u79fb\u52d5\n  DELAY_CHKECKING_INP( 3000 );\n    \n  L64X0_data_transfer(0xb0,0,0);                \/\/ \u56de\u8ee2\u505c\u6b62\uff08\u30c8\u30eb\u30af\u4fdd\u6301\uff09\n  L64X0_NOT_BUSY( 3000 );\n\n  L64X0_data_transfer(0x50,3,9000);             \/\/ \u539f\u70b9\u65b9\u5411\uff08\u53f3\uff09\u4e2d\u901f\u79fb\u52d5\n  DELAY_CHKECKING_INP( 3000 );\n    \n  L64X0_data_transfer(0xb0,0,0);                \/\/ \u56de\u8ee2\u505c\u6b62\uff08\u30c8\u30eb\u30af\u4fdd\u6301\uff09\n  L64X0_NOT_BUSY( 3000 );\n\n  L64X0_data_transfer(0xd8,0,0);                \/\/ \u539f\u70b9\u60c5\u5831\u521d\u671f\u5316\n  L64X0_NOT_BUSY(500);\n\n  L64X0_data_transfer(0x60,3,9600);             \/\/ 200X16=3200(pls\/rot) 3200X3(rot)=9600\n  L64X0_NOT_BUSY(200);\n\n  spi_dvs = dvs_tmp;   \n}\n\n\n\/\/ L6470 \u539f\u70b9\u5fa9\u5e30\nvoid get_origin_L6470(){\n  int dvs_tmp = spi_dvs ;\n\n  spi_dvs = 1;  \n  if(!digitalRead(PIN_LMT_ORG)){\n    L64X0_data_transfer(0x51,3,8000);           \/\/ \u53cd-\u539f\u70b9\u65b9\u5411\uff08\u53f3\uff09\u4e2d\u901f\u79fb\u52d5\n    DELAY_CHKECKING_INP( 100 );\n    \n    while(!digitalRead( PIN_LMT_ORG )){ }\n    DELAY_CHKECKING_INP( 1000 );\n    L64X0_data_transfer(0xb0,0,0);              \/\/ \u56de\u8ee2\u505c\u6b62\uff08\u30c8\u30eb\u30af\u4fdd\u6301\uff09\n    L64X0_NOT_BUSY(500);\n  }\n  \n  L64X0_data_transfer(0x50,3,8000);             \/\/ \u539f\u70b9\u65b9\u5411\uff08\u5de6\uff09\u4e2d\u901f\u79fb\u52d5\n  while(digitalRead( PIN_LMT_ORG )){} \n  L64X0_data_transfer(0xb0,0,0);                \/\/ \u56de\u8ee2\u505c\u6b62\uff08\u30c8\u30eb\u30af\u4fdd\u6301\uff09\n  L64X0_NOT_BUSY(500);\n\n  L64X0_data_transfer(0x51,3,500);              \/\/ \u53cd-\u539f\u70b9\u65b9\u5411\uff08\u53f3\uff09\u4f4e\u901f\u79fb\u52d5\n  DELAY_CHKECKING_INP( 50 );\n  while(!digitalRead( PIN_LMT_ORG )){}\n\n  L64X0_data_transfer(0xb0,0,0);                \/\/ \u56de\u8ee2\u505c\u6b62\uff08\u30c8\u30eb\u30af\u4fdd\u6301\uff09\n  L64X0_NOT_BUSY(500);\n\n  L64X0_data_transfer(0x41,3,600);              \/\/ \u53cd-\u539f\u70b9\u65b9\u5411\uff08\u53f3\uff09\u9577\u3055\u6307\u5b9a\u79fb\u52d5\n  L64X0_NOT_BUSY(100);\n  \n  L64X0_data_transfer(0xd8,0,0);                \/\/ \u539f\u70b9\u60c5\u5831\u521d\u671f\u5316\n  L64X0_NOT_BUSY(100);\n\n  spi_dvs = dvs_tmp;\n}\n\n\/\/ \u25a0\u25a0\u25a0\u3010\u4ee5\u4e0b\u3001\u5171\u901a\u3011\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\u25a0\n\/\/ L64X0\u30c7\u30fc\u30bf\u9001\u4fe1(BUSY\u89e3\u9664\u5f85\u6a5f)\nvoid L64X0_data_send(unsigned char add_or_val){\n  if( spi_dvs == 0 ){ while(!digitalRead(L6470_BUSY) || !digitalRead(L6480_BUSY)){} }\n  if( spi_dvs == 1 ){ while(!digitalRead(L6470_BUSY)){} }\n  if( spi_dvs == 2 ){ while(!digitalRead(L6480_BUSY)){} }\n\n  spi_dvs_enable();\n  SPI.transfer(add_or_val);              \/\/ \u30a2\u30c9\u30ec\u30b9\u3082\u3057\u304f\u306f\u30c7\u30fc\u30bf\u9001\u4fe1\u3002\n  spi_dvs_disenable();\n}\n\n\/\/ BUSY\u89e3\u9664\u5f85\u6a5f\nvoid L64X0_NOT_BUSY(long time){\n  int cnt_brk=0;\n  while(1){ \n    chk_sw_input();\n    if( spi_dvs == 0 ){\n      if(digitalRead(L6470_BUSY) && digitalRead(L6480_BUSY)){cnt_brk++;}else{cnt_brk=0;} \n    }else if( spi_dvs == 1 ){ \n      if(digitalRead(L6470_BUSY)){cnt_brk++;}else{cnt_brk=0;} \n    } else if( spi_dvs == 2 ){\n      if(digitalRead(L6480_BUSY)){cnt_brk++;}else{cnt_brk=0;} \n    }else{ cnt_brk++; }\n    if(cnt_brk&gt;20){ break; }\n  }\n\n  if(time &gt; 0){ DELAY_CHKECKING_INP( time ); }\n}\n\n\/\/ \u6307\u5b9a\u6642\u9593\u5f85\u6a5f\uff08\u5bfe\u8c61\u5165\u529b\u76e3\u8996\uff1a\u5165\u529b\u306b\u3088\u308b\u51e6\u7406\u5206\u5c90\u306a\u3057\uff09\nvoid DELAY_CHKECKING_INP(unsigned long time ){\n  \/\/ BUSY\u89e3\u9664\u5f85\u6a5f\n  unsigned long tm_bgn = millis();\n  unsigned long tm_now = millis();\n  unsigned long tm_dif = tm_now - tm_bgn ; \n\n  while( tm_dif &lt; time ){\n    chk_sw_input();\n    tm_now = millis();\n    tm_dif = tm_now - tm_bgn ; \n  }\n}\n\n\/\/ \u5bfe\u8c61SW\u5165\u529b\u78ba\u8a8d\u30fbLED\u51fa\u529b\nvoid chk_sw_input(){\n  val_bsy = digitalRead(L6470_BUSY);\n  val_org = !digitalRead(PIN_LMT_ORG);\n  val_end = !digitalRead(PIN_LMT_END);\n  digitalWrite(PIN_DRV_LED, val_bsy);             \/\/ LED\u306e\u30d4\u30f3\u3092\u8aad\u307f\u53d6\u3063\u305f\u5024\u306b\u5909\u66f4\n  digitalWrite(PIN_LMT_LED, val_org | val_end );  \/\/ LED\u306e\u30d4\u30f3\u3092\u8aad\u307f\u53d6\u3063\u305f\u5024\u306b\u5909\u66f4\n}\n\n\/\/ L64X0\u9001\u4fe1\u30c7\u30fc\u30bf\u52a0\u5de5\nvoid L64X0_data_transfer(int add,int bytes,long val){\n  int data[3];\n  L64X0_data_send(add);\n  for(int i=0;i&lt;=bytes-1;i++){\n    data[i] = val & 0xff;  \n    val = val &gt;&gt; 8;\n  }\n  \n  if(bytes==3){ L64X0_data_send(data[2]); }\n  if(bytes&gt;=2){ L64X0_data_send(data[1]); } \n  if(bytes&gt;=1){ L64X0_data_send(data[0]); }  \n}\n\n\/\/ L6470 \/ L6480\u30ea\u30bb\u30c3\u30c8\nvoid L64X0_rst_device(){\n  L64X0_data_send_u(0x00);      \/\/nop\u547d\u4ee4\n  L64X0_data_send_u(0x00);\n  L64X0_data_send_u(0x00);\n  L64X0_data_send_u(0x00);\n  L64X0_data_send_u(0xc0);\n}\n\n\/\/ L6470\u30fbL6480\u30c7\u30fc\u30bf\u9001\u4fe1(BUSY\u72b6\u614b\u95a2\u4fc2\u306a\u3057)\nvoid L64X0_data_send_u(unsigned char add_or_val){\n  spi_dvs_enable();\n  SPI.transfer( add_or_val );                 \/\/ \u30a2\u30c9\u30ec\u30b9\u3082\u3057\u304f\u306f\u30c7\u30fc\u30bf\u9001\u4fe1\u3002\n  spi_dvs_disenable();\n}\n\n\/\/ SPI\uff83\uff9e\uff8a\uff9e\uff72\uff7d\u9078\u629e\nvoid spi_dvs_enable(){\n  if(spi_dvs==1){\n    digitalWrite( L6470_SPI_SS , LOW );       \/\/ L6470 ~SS\u6709\u52b9\u5316 \n    digitalWrite( L6480_SPI_SS , HIGH );      \/\/ L6480 ~SS\u7121\u52b9\u5316\n  }else if(spi_dvs==2){\n    digitalWrite( L6470_SPI_SS , HIGH );      \/\/ L6470 ~SS\u7121\u52b9\u5316  \n    digitalWrite( L6480_SPI_SS , LOW );       \/\/ L6480 ~SS\u6709\u52b9\u5316  \n  }else{\n    digitalWrite( L6470_SPI_SS , LOW );       \/\/ L6470 ~SS\u6709\u52b9\u5316 \n    digitalWrite( L6480_SPI_SS , LOW );       \/\/ L6480 ~SS\u6709\u52b9\u5316  \n  }\n}\n\n\/\/ SPI\uff83\uff9e\uff8a\uff9e\uff72\uff7d\u9078\u629e\u89e3\u9664\nvoid spi_dvs_disenable(){\n  digitalWrite( L6470_SPI_SS , HIGH );        \/\/ L6470 ~SS\u7121\u52b9\u5316 \n  digitalWrite( L6480_SPI_SS , HIGH );        \/\/ L6480 ~SS\u7121\u52b9\u5316\n}\n\n\/\/ \u521d\u671f\u8a2d\u5b9a\nvoid L64X0_set_parameter(){\n  int dvs_tmp = spi_dvs ;\n\n  \/\/ \u25a0\u3000DVS1\uff08L6470\uff09 \u25a0\n  spi_dvs = 1;\n  L64X0_data_transfer(0x05,2,0x0e);   \/\/ \u52a0\u901f\u4fc2\u6570\uff08\u521d\u671f\u5024:0x08A\uff09(12bit) \n  L64X0_data_transfer(0x06,2,0x0e);   \/\/ \u6e1b\u901f\u4fc2\u6570\uff08\u521d\u671f\u5024:0x08A\uff09(12bit)  \n  L64X0_data_transfer(0x07,2,0x0e);   \/\/ \u6700\u5927\u901f\u5ea6\uff08\u521d\u671f\u5024:0x041\uff09(10bit)\n  L64X0_data_transfer(0x08,2,0x01);   \/\/ \u6700\u5c0f\u901f\u5ea6\uff08\u521d\u671f\u5024:0x000\uff09(13bit) \n  L64X0_data_transfer(0x09,1,0x29);   \/\/ \u505c\u6b62\u6642\u52b1\u78c1\u96fb\u5727\uff08\u521d\u671f\u5024:0x29\uff09(8bit)\n  L64X0_data_transfer(0x0a,1,0x50);   \/\/ \u5b9a\u901f\u56de\u8ee2\u6642\u52b1\u78c1\u96fb\u5727\uff08\u521d\u671f\u5024:0x29\uff09(8bit)\n  L64X0_data_transfer(0x0b,1,0x50);   \/\/ \u52a0\u901f\u6642\u52b1\u78c1\u96fb\u5727\uff08\u521d\u671f\u5024:0x29\uff09(8bit)\n  L64X0_data_transfer(0x0c,1,0x50);   \/\/ \u6e1b\u901f\u6642\u52b1\u78c1\u96fb\u5727\uff08\u521d\u671f\u5024:0x29\uff09(8bit)\n  L64X0_data_transfer(0x15,2,0x3ff);  \/\/ \u03bc\uff7d\uff83\uff6f\uff8c\uff9f\u2192\uff8c\uff99\uff7d\uff83\uff6f\uff8c\uff9f\u5207\u66ff\u70b9\u901f\u5ea6\uff08\u521d\u671f\u5024:0x27\uff09(10bit)\n  L64X0_data_transfer(0x16,1,0x03);   \/\/ \uff8f\uff72\uff78\uff9b\uff7d\uff83\uff6f\uff8c\uff9f\u8a2d\u5b9a\uff1a0x03\u21921\/8\n\n  \/\/ \u25a0\u3000DVS2\uff08L6480\uff09 \u25a0\n  spi_dvs = 2;\n  L64X0_data_transfer(0x05,2,0x06);   \/\/ \u52a0\u901f\u4fc2\u6570\uff08\u521d\u671f\u5024:0x08A\uff09(12bit)\n  L64X0_data_transfer(0x06,2,0x06);   \/\/ \u6e1b\u901f\u4fc2\u6570\uff08\u521d\u671f\u5024:0x08A\uff09(12bit)   \n  L64X0_data_transfer(0x07,2,0x15);   \/\/ \u6700\u5927\u901f\u5ea6\uff08\u521d\u671f\u5024:0x041\uff09(10bit)\n  L64X0_data_transfer(0x08,2,0x01);   \/\/ \u6700\u5c0f\u901f\u5ea6\uff08\u521d\u671f\u5024:0x000\uff09(12bit) \n\n  L64X0_data_transfer(0x09,1,0x25);   \/\/ \u505c\u6b62\u6642\u52b1\u78c1\u96fb\u5727\uff08\u521d\u671f\u5024:0x29\uff09(8bit) \u203b\u505c\u6b62\u6642\u767a\u71b1\u3059\u308b\u306e\u3067\u5927\u304d\u304f\u3057\u306a\u3044\u3002  \n  L64X0_data_transfer(0x0a,1,0xD5);   \/\/ \u5b9a\u901f\u56de\u8ee2\u6642\u52b1\u78c1\u96fb\u5727\uff08\u521d\u671f\u5024:0x29\uff09(8bit)   \n  L64X0_data_transfer(0x0b,1,0xD5);   \/\/ \u52a0\u901f\u6642\u52b1\u78c1\u96fb\u5727\uff08\u521d\u671f\u5024:0x29\uff09(8bit)   \n  L64X0_data_transfer(0x0c,1,0xD5);   \/\/ \u6e1b\u901f\u6642\u52b1\u78c1\u96fb\u5727\uff08\u521d\u671f\u5024:0x29\uff09(8bit)\n \n  L64X0_data_transfer(0x0d,2,0x05);   \/\/ Intersect speed\uff08\u521d\u671f\u5024:0x0408\uff09(14bit)\n  L64X0_data_transfer(0x0e,1,0x04);   \/\/ Start slope\uff08\u521d\u671f\u5024:0x19\uff09(8bit)\n  L64X0_data_transfer(0x0f,1,0x04);   \/\/ Acceleration final slope\uff08\u521d\u671f\u5024:0x29\uff09(8bit)\n  L64X0_data_transfer(0x10,1,0x04);   \/\/ Deceleration final slope\uff08\u521d\u671f\u5024:0x29\uff09(8bit)\n\n  L64X0_data_transfer(0x13,1,0x0F);   \/\/ OCD threshold\uff08\u521d\u671f\u5024:0x08\uff09(5bit)\n  L64X0_data_transfer(0x14,1,0x7F);   \/\/ STALL threshold\uff08\u521d\u671f\u5024:0x08\uff09(5bit)\n\n  L64X0_data_transfer(0x15,2,0xff);   \/\/ \u03bc\uff7d\uff83\uff6f\uff8c\uff9f\u2192\uff8c\uff99\uff7d\uff83\uff6f\uff8c\uff9f\u5207\u66ff\u70b9\u901f\u5ea6\uff08\u521d\u671f\u5024:0x27\uff09(10bit) \n  L64X0_data_transfer(0x16,1,0x04);   \/\/ \uff8f\uff72\uff78\uff9b\uff7d\uff83\uff6f\uff8c\uff9f\u8a2d\u5b9a\uff1a0x04\u21921\/16, 0x05\u21921\/32\n  L64X0_data_transfer(0x17,1,0xFF);   \/\/ \uff71\uff97\uff70\uff91\u6709\u52b9\u5316\uff08\u521d\u671f\u5024:0xFF\uff09(8bit) \n  L64X0_data_transfer(0x1A,2,0x1E01); \/\/ \u74b0\u5883\u8a2d\u5b9a\uff08\u521d\u671f\u5024:0x2C88\uff09(16bit) \n\n  spi_dvs = dvs_tmp;                  \/\/ \u901a\u4fe1\uff83\uff9e\uff8a\uff9e\uff72\uff7d\u3092\u623b\u3059\n}<\/code><\/pre><\/div>\n\n\n\n<h2>\u307e\u3068\u3081<\/h2>\n\n\n\n<p>\u3000\u64cd\u4f5c\u65b9\u6cd5\u3092\u7406\u89e3\u51fa\u6765\u3066\u3044\u306a\u3044\u306e\u3067\u3059\u304c\u3001ArduinoIDE\u304b\u3089Pico\u306b\u66f8\u304d\u8fbc\u3080\u64cd\u4f5c\u306b\u983b\u7e41\u306b\u6238\u60d1\u3063\u3066\u3044\u307e\u3059\u3002<br>\u3000\u4e00\u65b9\u3001L6480\u8a2d\u5b9a\u306b\u306f\u3001\u96e3\u5100\u3057\u307e\u3057\u305f\u304c\u3001\u4f55\u3068\u306a\u304f\u4f7f\u3048\u305d\u3046\u306a\u611f\u899a\u3092\u6301\u3064\u3053\u3068\u304c\u51fa\u6765\u307e\u3057\u305f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6982\u8981 \u3000\u30b9\u30c8\u30ed\u30d9\u30ea\u30fc\u30fb\u30ea\u30ca\u30c3\u30af\u30b9\u793e\u3067\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308bL6480\u30c9\u30e9\u30a4\u30d0\u30fc\u3092\u4f7f\u3063\u3066\u307f\u307e\u3057\u305f\u3002\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u4e0a\u3067\u4f7f\u3044\u65b9\u306a\u3069\u3042\u307e\u308a\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u5fd8\u5099\u9332\u3068\u3057\u3066\u6982\u8981\u3092\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u3000\u30fbL6480 \u5927\u96fb\u6d41\uff7d\uff83\uff6f\uff8b\uff9f &hellip; <a href=\"https:\/\/kats-eye.net\/info\/2024\/01\/21\/raspberry-pi-picol6480\/\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">Raspberry Pi Pico \u3067L6480\u30b9\u30c6\u30c3\u30d4\u30f3\u30b0\u30e2\u30fc\u30bf\u30fc\u30c9\u30e9\u30a4\u30d0\u30fc\u3092\u4f7f\u3046<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":6444,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[183,176],"_links":{"self":[{"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/posts\/6442"}],"collection":[{"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/comments?post=6442"}],"version-history":[{"count":4,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/posts\/6442\/revisions"}],"predecessor-version":[{"id":6447,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/posts\/6442\/revisions\/6447"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/media\/6444"}],"wp:attachment":[{"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/media?parent=6442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/categories?post=6442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/tags?post=6442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}