{"id":5041,"date":"2012-10-14T03:16:12","date_gmt":"2012-10-13T18:16:12","guid":{"rendered":"http:\/\/nanoappli.com\/blog\/?p=5041"},"modified":"2012-10-14T04:05:07","modified_gmt":"2012-10-13T19:05:07","slug":"pic24uart%e6%a9%9f%e8%83%bd%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"http:\/\/nanoappli.com\/blog\/archives\/5041","title":{"rendered":"[PIC24]UART\u6a5f\u80fd\u3092\u4f7f\u7528\u3057\u3066RS-232C\u901a\u4fe1\u3092\u884c\u3046"},"content":{"rendered":"<p>\nPIC24\u3067UART\u6a5f\u80fd\u3092\u4f7f\u7528\u3059\u308b\u30b5\u30f3\u30d7\u30eb\u3067\u3059\u3002<br \/>\n\u3068\u308a\u3042\u3048\u305a\u52d5\u3044\u305f\u306e\u3067\u3001\u30e1\u30e2\u4ee3\u308f\u308a\u306b\u30a2\u30c3\u30d7\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br \/>\n<br \/>\n\u8a2d\u5b9a\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3002<br \/>\n<pre lang=\"x\">\nPIC24FJ32GA002\u3067\u78ba\u8a8d\nUART1\u3092\u4f7f\u7528\n\u9001\u53d7\u4fe1\u51e6\u7406\u306f\u30dd\u30fc\u30ea\u30f3\u30b0\u30d9\u30fc\u30b9(\u5272\u308a\u8fbc\u307f\u306f\u4f7f\u308f\u306a\u3044)\n\n9600bps\n8bit\n\u30ce\u30f3\u30d1\u30ea\u30c6\u30a3\n\u30b9\u30c8\u30c3\u30d7 1bit\n\nTxD\u306e\u30d4\u30f3: RP5\nRxD\u306e\u30d4\u30f3: RP6\n<\/pre>\n<br \/>\nPIC\u304b\u3089\u306e\u51fa\u529b\u306fFT2232\u7d4c\u7531\u3067PC\u306b\u53d6\u308a\u8fbc\u307f\u307e\u3059\u3002<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<pre lang=\"c\">\n#include <p24FJ32GA002.h>\n#include \"uart.h\"\n#include \"PPS.h\"\n\n#define UART_CLK8MHZ_9600BPS 25\n\n\/\/--------------------------------------\n\/\/ \u30b3\u30f3\u30d5\u30a3\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u30d3\u30c3\u30c8\u306e\u8a2d\u5b9a\n\/\/--------------------------------------\n_CONFIG2(   POSCMOD_NONE  &       \/\/ Primary oscillator disabled\n            IOL1WAY_OFF   &       \/\/ IOLOCK may be changed via unlocking seq\n            OSCIOFNC_ON   &       \/\/ OSC2\/CLKO\/RC15 functions as port I\/O (RC15)\n            FCKSM_CSDCMD  &       \/\/ Clock switching and Fail-Safe Clock Monitor are disabled\n            FNOSC_FRC     &       \/\/ Fast RC Oscillator (FRC)\n            WUTSEL_LEG            \/\/ Legacy Wake-up Timer\n        );\n\n_CONFIG1 (  FWDTEN_OFF &          \/\/ Watchdog Timer is disabled\n            ICS_PGx1   &          \/\/ Emulator EMUC1\/EMUD1 pins are shared with PGC1\/PGD1\n            COE_ON     &          \/\/ Reset Into Clip On Emulation Mode\n            BKBUG_ON   &          \/\/ Device resets into Debug mode\n            GWRP_OFF   &          \/\/ Writes to program memory are allowed\n            GCP_OFF    &          \/\/ Code protection is disabled\n            JTAGEN_OFF            \/\/ JTAG port is disabled\n         );\n\n\nint main( void )\n{   \n    volatile int recvCount = 0; \/\/ \u53d7\u4fe1\u6587\u5b57\u6570\n    volatile int errCount  = 0; \/\/ \u53d7\u4fe1\u30a8\u30e9\u30fc\u56de\u6570\n    volatile int waitCount = 0; \/\/ \u9001\u4fe1\u5f85\u3061\u56de\u6570\n        \n        \n    \/\/------------------------------------\n    \/\/ \u30af\u30ed\u30c3\u30af\u306e\u5b9a\u7fa9\n    \/\/------------------------------------\n    OSCCONbits.COSC  = 0; \/\/ CPU\u30af\u30ed\u30c3\u30af\u306bFast RC Oscillator (FRC)\u3092\u4f7f\u7528\n    CLKDIVbits.DOZE  = 0; \/\/ \u30af\u30ed\u30c3\u30af\u306e\u30ec\u30fc\u30c81:1(postscaler)\n    CLKDIVbits.RCDIV = 0; \/\/ 8Mhz(prescaler)\n     \n       \n    \/\/------------------------------------\n    \/\/ RP\u30d4\u30f3\u306e\u5f79\u5272\u30de\u30c3\u30d4\u30f3\u30b0\u8a2d\u5b9a\n    \/\/------------------------------------                              \n    iPPSOutput( OUT_PIN_PPS_RP5, OUT_FN_PPS_U1TX ); \/\/ RP5\u3092 UART1\u306eTXD\u3068\u3057\u3066\u4f7f\u7528\n    iPPSInput(  IN_FN_PPS_U1RX,  IN_PIN_PPS_RP6  ); \/\/ RP6\u3092 UART1\u306eRXD\u3068\u3057\u3066\u4f7f\u7528\n\n\n    \/\/----------------------\n    \/\/ UART1\u306e\u30aa\u30fc\u30d7\u30f3\n    \/\/----------------------\n    CloseUART1();\n\n    unsigned int config1 =  UART_EN &               \/\/ UART\u6709\u52b9\n                            UART_IDLE_CON &         \/\/ \u30a2\u30a4\u30c9\u30eb\u6642\u3082\u52d5\u4f5c\u3055\u305b\u308b\n                            UART_DIS_WAKE &         \/\/ \u30b9\u30ea\u30fc\u30d7\u6642\u306fWakeup\u3055\u305b\u306a\u3044\n                            UART_IrDA_DISABLE &\n                            UART_DIS_LOOPBACK &     \/\/ \u30eb\u30fc\u30d7\u30d0\u30c3\u30af\u3055\u305b\u306a\u3044\n                            UART_NO_PAR_8BIT &      \/\/ \u30d1\u30ea\u30c6\u30a3\u306a\u30578bit\n                            UART_1STOPBIT &         \/\/ \u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c81\n                            UART_MODE_SIMPLEX  &    \/\/ \u30d5\u30ed\u30fc\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u7121\u3057\n                            UART_UEN_00 &\n                            UART_UXRX_IDLE_ONE &    \/\/ U1RX\u306e\u30a2\u30a4\u30c9\u30eb\u30921\u306b\u3059\u308b\n                            UART_BRGH_SIXTEEN &     \/\/ \u9ad8\u901f\u8ee2\u9001\u3092\u7121\u52b9\n                            UART_DIS_ABAUD;         \/\/ \u30dc\u30fc\u30ec\u30fc\u30c8\u306e\u81ea\u52d5\u691c\u51fa\u3092\u7121\u52b9\n  \n    unsigned int config2 =  UART_INT_TX_BUF_EMPTY &  \/\/ TXD\u30d0\u30c3\u30d5\u30a1\u304c\u7a7a\u306e\u3068\u304d\u5272\u308a\u8fbc\u307f\u3092\u767a\u751f\n                            UART_IrDA_POL_INV_ZERO & \/\/ U1TX\u30a2\u30a4\u30c9\u30eb\u30920\u3068\u3059\u308b\n                            UART_TX_ENABLE &         \/\/ TXD\u3092\u6709\u52b9(\u540c\u6642\u306bRXD\u3082\u6709\u52b9\u306b\u306a\u308b\n                            UART_INT_RX_CHAR &       \/\/ RXD\u53d7\u4fe1\u6642\u306b\u5272\u308a\u8fbc\u307f\u3092\u767a\u751f\n                            UART_ADR_DETECT_DIS & \n                            UART_RX_OVERRUN_CLEAR;  \n                                \n    OpenUART1(config1, config2, UART_CLK8MHZ_9600BPS );\n\n    ConfigIntUART1( UART_RX_INT_DIS & UART_TX_INT_DIS ); \n    \n    \n\n    \/\/-----------------------------\n    \/\/ \u30b7\u30ea\u30a2\u30eb\u9001\u53d7\u4fe1\u306e\u7121\u9650\u30eb\u30fc\u30d7\n    \/\/ \u4e00\u5b9a\u5468\u671f\u3067\u6587\u5b57\u3092\u9001\u4fe1\u3057\u307e\u3059\n    \/\/-----------------------------\n    while(1) {\n        volatile unsigned int recvText;\n        volatile long int loop;\n\n        \/\/-------------------------\n        \/\/ \u5b9a\u671f\u7684\u306b\u6587\u5b57\u3092\u9001\u4fe1\u3059\u308b\n        \/\/-------------------------\n        \n        \/\/ 1byte\u66f8\u304d\u8fbc\u307f\n        U1TXREG = 'a';\n        \n        \/\/\u30d0\u30c3\u30d5\u30a1\u304c\u7a7a\u306b\u306a\u308b\u307e\u3067\u5f85\u3064(TRMT:bit8)\n        while ( U1STAbits.TRMT == 0 ) {\n            waitCount++;\n        }\n\n        \/\/ \u3061\u3087\u3063\u3068\u5f85\u3064     \n        for ( loop = 0; loop < 10000; loop++) { \n            \/* nop *\/;\n        }\n    } \n    \n    return 0;\n}\n<\/pre>\n<br \/>\n\u4eca\u56de\u3001Microchip PIC24F\u306ePeripheral Library\u3092\u4f7f\u7528\u3057\u3066\u307f\u307e\u3057\u305f\u3002<br \/>\n<br \/>\n<br \/>\nRP\u30d4\u30f3\u306e\u5f79\u5272\u30de\u30c3\u30d4\u30f3\u30b0\u8a2d\u5b9a\u306e...<br \/>\n<pre lang=\"x\">\n    iPPSOutput( OUT_PIN_PPS_RP5, OUT_FN_PPS_U1TX ); \/\/ RP5\u3092 UART1\u306eTXD\u3068\u3057\u3066\u4f7f\u7528\n<\/pre>\n<br \/>\n\u306f\u3001\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3068\u7b49\u4fa1\u3067\u3059\u3002<br \/>\n<pre lang=\"x\">\n    RPOR2bits.RP5R = 3;\n<\/pre>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n\u307e\u305f\u3001OpenUART1()\u306f\u3001\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3068\u540c\u3058\u3067\u3059\u3002<br \/>\n<pre lang=\"x\">\n    \/\/ I\/O\u30ec\u30b8\u30b9\u30bf\u3092\u76f4\u63a5\u6307\u5b9a\u3059\u308b\u5834\u5408\n    U1MODEbits.UARTEN = 1;\n    U1MODEbits.USIDL  = 0;\n    U1MODEbits.IREN   = 0;\n    U1MODEbits.RTSMD  = 1;\n    U1MODEbits.UEN    = 0;\n    U1MODEbits.WAKE   = 0;\n    U1MODEbits.LPBACK = 0;\n    U1MODEbits.ABAUD  = 0;\n    U1MODEbits.RXINV  = 0;\n    U1MODEbits.BRGH   = 0;  \n    U1MODEbits.PDSEL  = 0;\n    U1MODEbits.STSEL  = 0;\n    \n    U1STAbits.UTXISEL1 = 0;\n    U1STAbits.UTXINV  = 0;\n    U1STAbits.UTXBRK  = 0;\n    U1STAbits.UTXEN   = 1;\n    U1STAbits.URXISEL = 0;\n    U1STAbits.ADDEN   = 0;\n    \n    U1BRG = UART_CLK8MHZ_9600BPS;\n<\/pre>\n<br \/>\n<br \/>\n<br \/>\n\u5b9f\u969b\u306e\u6587\u5b57\u9001\u4fe1\u30eb\u30fc\u30d7\u306f\u3001\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u306b\u5909\u66f4\u3059\u308b\u3068\u6e21\u3055\u308c\u305f\u6587\u5b57\u306e\u30a8\u30b3\u30fc\u30d0\u30c3\u30af\u304c\u884c\u3048\u307e\u3059<br \/>\n<pre lang=\"c\">\n    while(1) {\n        \/\/---------------------------------------\n        \/\/ \u53d7\u4fe1\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3044\u306a\u3044\u304b\u30c1\u30a7\u30c3\u30af     \n        \/\/---------------------------------------\n        if ( U1STAbits.PERR == 1 || U1STAbits.FERR == 1 || U1STAbits.OERR == 1 ) {\n            errCount++;\n        }\n\n        \/\/-----------------------------         \n        \/\/ \u30d0\u30c3\u30d5\u30a1\u304b\u3089\u6587\u5b57\u3092\u53d7\u4fe1\u3059\u308b\n        \/\/-----------------------------         \n        if ( U1STAbits.URXDA == 1 ) {\n            recvText = U1RXREG;\n            recvCount++;\n\n            \/\/-----------------------------         \n            \/\/ \u30a8\u30b3\u30fc\u30d0\u30c3\u30af\u3059\u308b         \n            \/\/-----------------------------         \n            U1TXREG = recvText;\n            \n            \/\/\u30d0\u30c3\u30d5\u30a1\u304c\u7a7a\u306b\u306a\u308b\u307e\u3067\u5f85\u3064\n            while ( U1STAbits.TRMT == 0 ) {\n                waitCount++;\n            }   \n        }\n    } \n<\/pre>\n<br \/>\n\u9001\u53d7\u4fe1\u51e6\u7406\u306f\u3001byte\u5358\u4f4d\u3067\u306e\u9001\u4fe1\u306b\u52a0\u3048\u3066\u3001\u6587\u5b57\u5217\u5358\u4f4d\u306egetsUART1()\/putsUART1() \u3082\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u3067\u3059\u3002<br \/>\n<pre lang=\"c\">\ngetsUART1(\n    unsigned int length, \n    unsigned int * buffer, \n    unsigned int uart_data_wait\n);\n\nputsUART1(\n    unsigned int * buffer\n);\n<\/pre>\n<br \/>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PIC24\u3067UART\u6a5f\u80fd\u3092\u4f7f\u7528\u3059\u308b\u30b5\u30f3\u30d7\u30eb\u3067\u3059\u3002 \u3068\u308a\u3042\u3048\u305a\u52d5\u3044\u305f\u306e\u3067\u3001\u30e1\u30e2\u4ee3\u308f\u308a\u306b\u30a2\u30c3\u30d7\u3057\u3066\u304a\u304d\u307e\u3059\u3002 \u8a2d\u5b9a\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3002 PIC24FJ32GA002\u3067\u78ba\u8a8d UART1\u3092\u4f7f\u7528 \u9001\u53d7\u4fe1\u51e6\u7406\u306f\u30dd\u30fc\u30ea\u30f3\u30b0\u30d9\u30fc\u30b9(\u5272\u308a\u8fbc\u307f\u306f\u4f7f\u308f\u306a\u3044) 9600bps 8bit \u30ce\u30f3\u30d1\u30ea\u30c6\u30a3 \u30b9\u30c8\u30c3\u30d7 1bit TxD\u306e\u30d4\u30f3: RP5 RxD\u306e\u30d4\u30f3: RP6 PIC\u304b\u3089\u306e\u51fa\u529b\u306fFT2232\u7d4c\u7531\u3067PC\u306b\u53d6\u308a\u8fbc\u307f\u307e\u3059\u3002 #include #include &#8220;uart.h&#8221; #include &#8220;PPS.h&#8221; #define UART_CLK8MHZ_9600BPS 25 \/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[105],"tags":[145,141,149],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":5013,"url":"http:\/\/nanoappli.com\/blog\/archives\/5013","url_meta":{"origin":5041,"position":0},"title":"PIC24\u3067\u51fa\u529b\u30b3\u30f3\u30da\u30a2\u3092\u4f7f\u7528\u3057\u3066,\u6307\u5b9a\u3057\u305f\u5468\u6ce2\u6570\u3067\u77e9\u5f62\u6ce2\u3092\u51fa\u529b\u3059\u308b","date":"2012\u5e7410\u670813\u65e5","format":false,"excerpt":"PIC24F\u306b\u306f\u3001\u30bf\u30a4\u30de\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u4f7f\u7528\u3057\u305f\u51fa\u529b\u30b3\u30f3\u30da\u30a2\u6a5f\u80fd\u304c\u3042\u308a\u307e\u3059\u3002 \u51fa\u529b\u30b3\u30f3\u30da\u30a2\u6a5f\u80fd\u306b\u306f\u3001\u4ee5\u4e0b\u2026","rel":"","context":"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4957,"url":"http:\/\/nanoappli.com\/blog\/archives\/4957","url_meta":{"origin":5041,"position":1},"title":"[PIC]C30\u30b3\u30f3\u30d1\u30a4\u30e9\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b(dsPIC,PIC24\u7528)","date":"2012\u5e7410\u670812\u65e5","format":false,"excerpt":"\u672c\u8a18\u4e8b\u3067\u306fPIC\u306eC\u8a00\u8a9e\u5411\u3051\u30b3\u30f3\u30d1\u30a4\u30e9\u3067\u3042\u308b\u3001C30\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u52d5\u4f5c\u78ba\u8a8d\u3092\u884c\u3044\u307e\u3059\u3002 \u2026","rel":"","context":"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/nanoappli.com\/blog\/wp-content\/uploads\/2012\/10\/20121012_07.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":4105,"url":"http:\/\/nanoappli.com\/blog\/archives\/4105","url_meta":{"origin":5041,"position":2},"title":"[PIC]HI-TECH C\u3067\u30b3\u30f3\u30d5\u30a3\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u30d3\u30c3\u30c8\u3092\u6307\u5b9a\u3059\u308b","date":"2012\u5e748\u670828\u65e5","format":false,"excerpt":"PIC\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u30a2\u30bb\u30f3\u30d6\u30ea(MPASM)\u3067\u4f5c\u6210\u3059\u308b\u5834\u5408\u306f\u3001CONFIG\u547d\u4ee4\u3067\u30b3\u30f3\u30d5\u30a3\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u2026","rel":"","context":"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":5531,"url":"http:\/\/nanoappli.com\/blog\/archives\/5531","url_meta":{"origin":5041,"position":3},"title":"[PIC18]PWM\u6a5f\u80fd\u3092\u4f7f\u7528\u3057\u3066LED\u3092\u3075\u3093\u308f\u308a\u70b9\u6ec5\u3055\u305b\u308b","date":"2012\u5e7411\u67087\u65e5","format":false,"excerpt":"PIC18\u30b7\u30ea\u30fc\u30ba\u306e\u30de\u30a4\u30b3\u30f3\u3067\u3001PWM\u51fa\u529b\u3092\u5229\u7528\u3057\u3066LED\u3092\u3075\u3093\u308f\u308a\u70b9\u6ec5\u3055\u305b\u3066\u307f\u307e\u3059\u3002 \u4eca\u56de\u306fCCP\u2026","rel":"","context":"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/nanoappli.com\/blog\/wp-content\/uploads\/2012\/11\/20121110_05-500x339.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":4948,"url":"http:\/\/nanoappli.com\/blog\/archives\/4948","url_meta":{"origin":5041,"position":4},"title":"[PIC]PIC\u306e\u8cc7\u6599\u306b\u3042\u308b&#8221;R-M-W&#8221;\u306e\u610f\u5473","date":"2012\u5e7410\u670813\u65e5","format":false,"excerpt":"PIC\u306b\u3064\u3044\u3066\u66f8\u304b\u308c\u305f\u8cc7\u6599\u3084\u66f8\u7c4d\u3092\u898b\u308b\u3068\u3001\u51fa\u529b\u30d4\u30f3\u306e\u8aac\u660e\u3067\"R-M-W\"\u3068\u66f8\u304b\u308c\u3066\u3044\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u2026","rel":"","context":"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4086,"url":"http:\/\/nanoappli.com\/blog\/archives\/4086","url_meta":{"origin":5041,"position":5},"title":"[PIC] 16F84A->16F88\u3067,\u30d4\u30f3\u306b\u8ffd\u52a0\u3055\u308c\u305f\u6a5f\u80fd\u3092\u78ba\u8a8d\u3059\u308b","date":"2012\u5e749\u67082\u65e5","format":false,"excerpt":"PIC\u306e\u5165\u9580\u5411\u3051\u66f8\u7c4d\u3067\u3088\u304f\u7d39\u4ecb\u3055\u308c\u3066\u3044\u308bPIC16F84A\u3067\u3059\u304c\u300116F84A\u3068\u30d4\u30f3\u4e92\u63db\u304c\u3042\u308a\u306a\u304c\u3089\u2026","rel":"","context":"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/nanoappli.com\/blog\/wp-content\/uploads\/2012\/09\/20120902_07.jpg?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"http:\/\/nanoappli.com\/blog\/wp-json\/wp\/v2\/posts\/5041"}],"collection":[{"href":"http:\/\/nanoappli.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/nanoappli.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/nanoappli.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/nanoappli.com\/blog\/wp-json\/wp\/v2\/comments?post=5041"}],"version-history":[{"count":4,"href":"http:\/\/nanoappli.com\/blog\/wp-json\/wp\/v2\/posts\/5041\/revisions"}],"predecessor-version":[{"id":5050,"href":"http:\/\/nanoappli.com\/blog\/wp-json\/wp\/v2\/posts\/5041\/revisions\/5050"}],"wp:attachment":[{"href":"http:\/\/nanoappli.com\/blog\/wp-json\/wp\/v2\/media?parent=5041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/nanoappli.com\/blog\/wp-json\/wp\/v2\/categories?post=5041"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/nanoappli.com\/blog\/wp-json\/wp\/v2\/tags?post=5041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}