{"id":1405,"date":"2017-11-02T01:09:30","date_gmt":"2017-11-01T16:09:30","guid":{"rendered":"http:\/\/dubstylee.net\/v\/?p=1405"},"modified":"2017-12-20T02:56:51","modified_gmt":"2017-12-19T17:56:51","slug":"ymf825_stm8s103-blue","status":"publish","type":"post","link":"https:\/\/dubstylee.net\/v\/ymf825_stm8s103-blue\/","title":{"rendered":"YMF825\u30e2\u30b8\u30e5\u30fc\u30eb\u3092STM8 BLUE\u3067\u8a66\u3059"},"content":{"rendered":"<p>sduino\u306f\u50d5\u306e\u3088\u3046\u306a\u7d20\u4eba\u306b\u306f\u96e3\u3057\u3059\u304e\u308b\u306e\u3060\u304c\u3001\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u306a\u30de\u30a4\u30b3\u30f3\u306e\u4e16\u754c\u306e\u65b0\u9bae\u3055\u3082\u3042\u308a\u3001\u3044\u308d\u3044\u308d\u8a66\u3057\u3066\u307f\u3066\u3044\u308b\u3002\u3044\u304d\u306a\u308a\u56de\u8def\u7d44\u3093\u3067\u30b3\u30fc\u30c9\u66f8\u304d\u307e\u304f\u308b\u30b9\u30ad\u30eb\u306f\u7121\u3044\u3082\u306e\u306e\u3001\u307e\u305a\u306f\u4e00\u901a\u308a\u306e\u6a5f\u80fd\u3092\u8a66\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3046\u3002<\/p>\n<p>\u4eca\u56de\u306fYAMAHA\u306eFM\u97f3\u6e90\u30c1\u30c3\u30d7\u3092\u7a4d\u3093\u3060YMF825\u3092\u8a66\u3059\u3002\u5c0f\u3055\u304f\u3057\u306a\u304f\u3066\u3044\u3044\u304b\u3089\u307f\u3093\u306a\u4f7f\u3044\u3084\u3059\u3044\u3088\u3046\u306a\u6c4e\u7528\u7684\u306aArduino\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u51fa\u3057\u3066\u6577\u5c45\u3092\u4e0b\u3052\u308b\u306e\u304c\u5148\u3067\u306f\u306a\u3044\u304b\uff1f\u3068\u5f37\u304f\u601d\u3046\u306e\u3067\u3059\u3002\u3068\u3044\u3046\u3053\u3068\u306f\u3001Arduino\u7528\u306e\u30b5\u30f3\u30d7\u30eb\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u5206\u304b\u308a\u306b\u304f\u308f\u3051\u3067\u3059\u304c\u3001\u9006\u306b\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u306a\u66f8\u304d\u65b9\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001STM8BLUE\u3053\u3068STM8S103F3P6\u30dc\u30fc\u30c9\u3067\u3082\u52d5\u304b\u305b\u308b\u306e\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u81f3\u3063\u305f\u308f\u3051\u3067\u3059\u3002<\/p>\n<p>\u4e0b\u8a18\u304c\u305d\u306e\u30b3\u30fc\u30c9\u3002\u305d\u306e\u307e\u307e\u3067\u306f\u52d5\u304b\u306a\u3044\u306e\u3067\u624b\u3092\u5165\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u5909\u66f4\u70b9\u306f\u5c11\u306a\u3044\u3067\u3059\u3002STM8BLUE\u7528\u306e\u30d4\u30f3\u30a2\u30b5\u30a4\u30f3\u3082\u5165\u308c\u3066\u304a\u304d\u307e\u3057\u305f\u3002SPI\u63a5\u7d9a\u3067\u3059\u3002STM8BLUE\u306f3.3V\u52d5\u4f5c\u306a\u3093\u3067\u3059\u304c\u30016V\u304f\u3089\u3044\u3067\u3082\u52d5\u4f5c\u3059\u308b\u306e\u3067\u3001\u307e\u3042\u3061\u3087\u3063\u3068\u8a66\u3059\u304f\u3089\u3044\u306a\u30895V\u3067\u3082\u5927\u4e08\u592b\u3067\u3057\u3087\u3046\u3068\u3044\u3046\u3053\u3068\u3067YMF825\u30dc\u30fc\u30c9\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u306e5V\u8a2d\u5b9a\u306e\u307e\u307e\u7e4b\u304e\u307e\u3057\u305f(\u3053\u308c\u3082\u672c\u6765\u306f\u30b8\u30e3\u30f3\u30d1\u30fc\u3067\u624b\u8efd\u306b\u5207\u308a\u66ff\u3048\u51fa\u6765\u308b\u3079\u304d\u306a\u306e\u306b&#8230;)\u3002ST-LINK\u306e3.3V\u30d4\u30f3\u3067STM8BLUE\u306b\u7d66\u96fb\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u3001STM8BLUE\u304b\u30895V\u3092YMF825\u306b\u7d66\u96fb\u3067\u304d\u306a\u3044\u306e\u3067\u5c11\u3057\u5de5\u592b\u304c\u5fc5\u8981\u3067\u3059\u3002ST-LINK\u304b\u3089\u7d66\u96fb\u3057\u3066\u3082\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u30b3\u30fc\u30c9\u306e\u5909\u66f4\u70b9\u306f&#8230;.<\/p>\n<ul>\n<li>SS\u3068RST\u306e\u30d4\u30f3\u52d5\u4f5c\u3092\u30ce\u30fc\u30de\u30eb\u306aArduino\u65b9\u5f0f\u306b\u5909\u3048\u3066\u3044\u307e\u3059\u3002\u5143\u30b5\u30f3\u30d7\u30eb\u3067\u306fATmega328P\u306e\u30ec\u30b8\u30b9\u30bf\u3092\u76f4\u63a5\u64cd\u4f5c\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u307e\u3068\u3081\u3066\u521d\u671f\u5316\u3059\u308b\u306b\u306f\u305d\u308c\u3067\u826f\u3044\u3068\u601d\u3046\u306e\u3067\u3059\u304c\u3001\u30c7\u30d0\u30a4\u30b9\u3092\u56fa\u5b9a\u5316\u3057\u3066\u3057\u307e\u3046\u306e\u3067\u3001\u305d\u308c\u3092\u907f\u3051\u308b\u305f\u3081\u666e\u901a\u306b\u3057\u307e\u3057\u305f\u3002\u305f\u3060\u3057\u3001STM8BLUE\u3067\u3082\u540c\u69d8\u306b\u30ec\u30b8\u30b9\u30bf\u3044\u3058\u3063\u3066\u3068\u3044\u3046\u3084\u308a\u65b9\u306f\u3067\u304d\u307e\u3059\u3002ATmega\u3068\u306f\u7570\u306a\u308a\u307e\u3059\u304c\u3002<\/li>\n<li>sduino\u306fC\u8a00\u8a9e\u3057\u304b\u4f7f\u3048\u306a\u3044\u306e\u3067C++\u306e\u30af\u30e9\u30b9\u3068\u304b\u304c\u4f7f\u3048\u307e\u305b\u3093\u3002sduino\u3067\u306f\u305d\u308c\u3063\u307d\u304f\u95a2\u6570\u306b\u7f6e\u304d\u63db\u308f\u308a\u307e\u3059\u3002\u306a\u304a\u3001SPI\u521d\u671f\u5316\u306e\u8ee2\u9001\u30b9\u30d4\u30fc\u30c9\u306e\u6307\u5b9a\u306f\u9069\u5f53\u306b\u3044\u308c\u305f\u3089\u52d5\u3044\u305f\u306e\u3067\u305d\u306e\u307e\u307e\u306b\u3057\u3066\u307e\u3059\u3002<\/li>\n<li>\u30b5\u30f3\u30d7\u30eb\u3092\u5b9f\u884c\u3059\u308b\u3068\u9069\u5f53\u306a\u97f3\u304c\u7e70\u308a\u8fd4\u3055\u308c\u308b\u306e\u3067\u3059\u304c\u3001\u5143\u30b5\u30f3\u30d7\u30eb\u3067\u306f5\u97f3\u3092\u7e70\u308a\u8fd4\u3059\u3068\u3044\u3046\u97f3\u697d\u7684\u306b\u6c17\u6301\u3061\u60aa\u3044\u30d5\u30ec\u30fc\u30ba\u3060\u3063\u305f\u306e\u3067(\u308f\u3056\u3068\uff1f)\u3082\u3046\u5c11\u3057\u30de\u30b7\u306b\u3057\u307e\u3057\u305f\u3002\u9006\u306b\u308f\u304b\u308a\u3084\u3059\u3044\u30d5\u30ec\u30fc\u30ba\u304c\u7e70\u308a\u8fd4\u3055\u308c\u308b\u306e\u3067\u3053\u308c\u306f\u3053\u308c\u3067\u30a2\u30ec\u304b\u3082\u3067\u3059\u304c\uff57<\/li>\n<\/ul>\n<p>\u3068\u3044\u3063\u305f\u3068\u3053\u308d\u3002\u307e\u3060\u30ef\u30fc\u30cb\u30f3\u30b0\u51fa\u305f\u308a\u3057\u307e\u3059\u304c\u3001\u305d\u3082\u305d\u3082\u51fa\u307e\u304f\u308a\u306a\u306e\u3067\u653e\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002YMF825\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u3044\u3058\u308b\u3068\u3053\u308d\u306f\u5909\u3048\u3066\u307e\u305b\u3093\u3002\u4ed5\u69d8\u66f8\u898b\u307e\u3057\u305f\u304c\u9762\u5012\u304f\u3055\u305d\u3046\u3060\u3063\u305f\u306e\u3067\u3002\u305d\u306e\u3046\u3061\u30c1\u30e3\u30ec\u30f3\u30b8\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3044\u305a\u308c\u306b\u3057\u3066\u3082\u3053\u306e\u691c\u8a3c\u3067\u3001STM8BLUE\u3067SPI\u304c\u4f7f\u3048\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3057\u305f\u3002\u4ed6\u306b\u3082\u8272\u3005\u30b5\u30f3\u30d7\u30eb\u3092\u52d5\u304b\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<pre>\/*\r\n * ymf825board sample\r\n * original .ino\r\n * https:\/\/github.com\/yamaha-webmusic\/ymf825board\/blob\/master\/sample1\/ymf825board_sample1\/ymf825board_sample1.ino\r\n * \r\n * modify for sduino(https:\/\/github.com\/tenbaht\/sduino)\r\n * \r\n * 11.01.2017\r\n\r\n  STM8S103F3P6\r\n   RST_N- PC4 (D6)\r\n   SS   - PA3 (D2)\r\n   MOSI - PC6 (D8)\r\n   MISO - PC7 (D9)\r\n   SCK  - PC5 (D7)\r\n *\/\r\n#include \r\n\/\/0 :5V 1:3.3V\r\n#define OUTPUT_power 0\r\n\r\n#define SS_PIN PA3\r\n#define RST_PIN PC4\r\n\r\n\/\/ only for Arduino UNO\r\nvoid set_ss_pin(int val) {\r\n    if(val ==HIGH){\r\n      digitalWrite(SS_PIN, HIGH);\r\n    }\r\n    else {\r\n      digitalWrite(SS_PIN, LOW);\r\n    }\r\n}\r\n\r\n\/\/ only for Arduino UNO\r\nvoid set_rst_pin(int val) {\r\n    if(val ==HIGH){\r\n      digitalWrite(RST_PIN, HIGH);\r\n    }\r\n    else {\r\n      digitalWrite(RST_PIN, LOW);\r\n    }\r\n}\r\n\r\nvoid if_write(char addr,unsigned char* data,char num){\r\n  char i;\r\n  char snd;\r\n    set_ss_pin(LOW);\r\n    SPI_transfer(addr);\r\n    for(i=0;i&lt;num;i++){\r\n      SPI_transfer(data[i]);    \r\n    }\r\n    set_ss_pin(HIGH);  \r\n}\r\n\r\nvoid if_s_write(char addr,unsigned char data){\r\n  if_write(addr,&amp;data,1);\r\n}\r\n\r\nunsigned char if_s_read(char addr){\r\n  \r\n    unsigned char rcv;\r\n    \r\n    set_ss_pin(LOW);    \r\n    SPI_transfer(0x80|addr);\r\n    rcv = SPI_transfer(0x00);\r\n    set_ss_pin(HIGH);  \r\n    return rcv;  \r\n}\r\n\r\nvoid init_825(void) {\r\n   set_rst_pin(LOW);\r\n   delay(1);\r\n   set_rst_pin(HIGH);\r\n   if_s_write( 0x1D, OUTPUT_power );\r\n   if_s_write( 0x02, 0x0E );\r\n   delay(1);\r\n   if_s_write( 0x00, 0x01 );\/\/CLKEN\r\n   if_s_write( 0x01, 0x00 ); \/\/AKRST\r\n   if_s_write( 0x1A, 0xA3 );\r\n   delay(1);\r\n   if_s_write( 0x1A, 0x00 );\r\n   delay(30);\r\n   if_s_write( 0x02, 0x04 );\/\/AP1,AP3\r\n   delay(1);\r\n   if_s_write( 0x02, 0x00 );\r\n   \/\/add\r\n   if_s_write( 0x19, 0xF0 );\/\/MASTER VOL\r\n   if_s_write( 0x1B, 0x3F );\/\/interpolation\r\n   if_s_write( 0x14, 0x00 );\/\/interpolation\r\n   if_s_write( 0x03, 0x01 );\/\/Analog Gain\r\n   \r\n   if_s_write( 0x08, 0xF6 );\r\n   delay(21);\r\n   if_s_write( 0x08, 0x00 );\r\n   if_s_write( 0x09, 0xF8 );\r\n   if_s_write( 0x0A, 0x00 );\r\n   \r\n   if_s_write( 0x17, 0x40 );\/\/MS_S\r\n   if_s_write( 0x18, 0x00 );\r\n}\r\n\r\nvoid set_tone(void){\r\n  unsigned char tone_data[35] ={\r\n    0x81,\/\/header\r\n    \/\/T_ADR 0\r\n    0x01,0x85,\r\n    0x00,0x7F,0xF4,0xBB,0x00,0x10,0x40,\r\n    0x00,0xAF,0xA0,0x0E,0x03,0x10,0x40,\r\n    0x00,0x2F,0xF3,0x9B,0x00,0x20,0x41,\r\n    0x00,0xAF,0xA0,0x0E,0x01,0x10,0x40,\r\n    0x80,0x03,0x81,0x80,\r\n  };\r\n  \r\n   if_s_write( 0x08, 0xF6 );\r\n   delay(1);\r\n   if_s_write( 0x08, 0x00 );\r\n  \r\n   if_write( 0x07, &amp;tone_data[0], 35 );\/\/write to FIFO\r\n}\r\n\r\nvoid set_ch(void){\r\n   if_s_write( 0x0F, 0x30 );\/\/ keyon = 0\r\n   if_s_write( 0x10, 0x71 );\/\/ chvol\r\n   if_s_write( 0x11, 0x00 );\/\/ XVB\r\n   if_s_write( 0x12, 0x08 );\/\/ FRAC\r\n   if_s_write( 0x13, 0x00 );\/\/ FRAC  \r\n}\r\n\r\nvoid keyon(unsigned char fnumh, unsigned char fnuml){\r\n   if_s_write( 0x0B, 0x00 );\/\/voice num\r\n   if_s_write( 0x0C, 0x54 );\/\/vovol\r\n   if_s_write( 0x0D, fnumh );\/\/fnum\r\n   if_s_write( 0x0E, fnuml );\/\/fnum\r\n   if_s_write( 0x0F, 0x40 );\/\/keyon = 1  \r\n}\r\n\r\nvoid keyoff(void){\r\n   if_s_write( 0x0F, 0x00 );\/\/keyon = 0\r\n}\r\n\r\nvoid setup() {\r\n\r\n  pinMode(SS_PIN,OUTPUT);\r\n  pinMode(RST_PIN,OUTPUT);\r\n  set_ss_pin(HIGH);\r\n\r\n\r\n  SPI_begin();\r\n  SPI_beginTransaction(SPISettings(8000000L,MSBFIRST,SPI_MODE0));\r\n\r\n  init_825();\r\n  set_tone();\r\n  set_ch();\r\n}\r\n\r\nvoid loop() {\r\n  keyon(0x14,0x65);\r\n  delay(500);\r\n  keyoff();\r\n  delay(200);\r\n  keyon(0x1c,0x11);\r\n  delay(500);\r\n  keyoff();\r\n  delay(200);\r\n  keyon(0x1c,0x42);\r\n  delay(500);\r\n  keyoff();\r\n  delay(200);\r\n  keyon(0x1c,0x5d);\r\n  delay(500);\r\n  keyoff();\r\n  delay(200);\r\n  keyon(0x24,0x17);\r\n  delay(500);\r\n  keyoff();\r\n  delay(200);\r\n  keyon(0x24,0x17);\r\n  delay(500);\r\n  keyoff();\r\n  delay(200);\r\n  keyon(0x24,0x17);\r\n  delay(1000);\r\n  keyoff();\r\n  delay(400);\r\n}<\/pre>\n<table>\n<tbody>\n<tr>\n<td>\n<div style=\"float: left; margin: 10px;\"><iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-fe.amazon-adsystem.com\/e\/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=dubstylee-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B01N2R4UHN&amp;linkId=d3bc35729a8850b334d8ccbecb3521fa\" width=\"300\" height=\"150\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/div>\n<div style=\"float: left; margin: 10px;\"><iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-fe.amazon-adsystem.com\/e\/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=dubstylee-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B01K9S6IU8&amp;linkId=6c439af3aa50c0e0a77d56e96033143d\" width=\"300\" height=\"150\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/div>\n<div style=\"float: left; margin: 10px;\"><iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-fe.amazon-adsystem.com\/e\/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=dubstylee-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B012VR3PVA&amp;linkId=35bb067263cd2430dee996790e63e5c5\" width=\"300\" height=\"150\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/div>\n<div style=\"float: left; margin: 10px;\"><iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-fe.amazon-adsystem.com\/e\/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=dubstylee-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B01JAT4DCW&amp;linkId=f9283e0f4c9210509c284de796ea5bf3\" width=\"300\" height=\"150\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>sduino\u306f\u50d5\u306e\u3088\u3046\u306a\u7d20\u4eba\u306b\u306f\u96e3\u3057\u3059\u304e\u308b\u306e\u3060\u304c\u3001\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u306a\u30de\u30a4\u30b3\u30f3\u306e\u4e16\u754c\u306e&#8230; <a class=\"more-link\" href=\"https:\/\/dubstylee.net\/v\/ymf825_stm8s103-blue\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":1356,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,164,135],"tags":[137,136,138],"class_list":["post-1405","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lab","category-sduino","category-stm8","tag-sduino","tag-stm8s103f3p6","tag-ymf825"],"_links":{"self":[{"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/posts\/1405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/comments?post=1405"}],"version-history":[{"count":5,"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/posts\/1405\/revisions"}],"predecessor-version":[{"id":1677,"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/posts\/1405\/revisions\/1677"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/media\/1356"}],"wp:attachment":[{"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/media?parent=1405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/categories?post=1405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dubstylee.net\/v\/wp-json\/wp\/v2\/tags?post=1405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}