如题,最近在写CAN总线的收发功能,在设置STM8的CAN总线寄存器的时候,发现找不到相应的寄存器了,如下图所示,然后我查阅了iostm8af52a8.h文件中,发现只定义了部分寄存器,其他的我没找到,找不到在哪了?网上也找不到关于STM8的CAN的寄存器设置例程,关于CAN总线的寄存器设置也不好找,所以我就自己按照原子哥的STM32的例程以及STM8的手册,想自己写一个,就出现了这个问题,我看了下库函数版的寄存器设置,例如CAN->Page.Config.BTR1这个寄存器,写在我的程序里也找不到这个寄存器定义,有人做过的能解答一下这个疑问吗?我用的STM8AF52A8。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
以下代码是stm8s.h头文件中的寄存器定义。
typedef struct
{
__IO uint8_t MCR; /*!< CAN master control register */
__IO uint8_t MSR; /*!< CAN master status register */
__IO uint8_t TSR; /*!< CAN transmit status register */
__IO uint8_t TPR; /*!< CAN transmit priority register */
__IO uint8_t RFR; /*!< CAN receive FIFO register */
__IO uint8_t IER; /*!< CAN interrupt enable register */
__IO uint8_t DGR; /*!< CAN diagnosis register */
__IO uint8_t PSR; /*!< CAN page selection register */
union
{
struct
{
__IO uint8_t MCSR;
__IO uint8_t MDLCR;
__IO uint8_t MIDR1;
__IO uint8_t MIDR2;
__IO uint8_t MIDR3;
__IO uint8_t MIDR4;
__IO uint8_t MDAR1;
__IO uint8_t MDAR2;
__IO uint8_t MDAR3;
__IO uint8_t MDAR4;
__IO uint8_t MDAR5;
__IO uint8_t MDAR6;
__IO uint8_t MDAR7;
__IO uint8_t MDAR8;
__IO uint8_t MTSRL;
__IO uint8_t MTSRH;
}TxMailbox;
struct
{
__IO uint8_t FR01;
__IO uint8_t FR02;
__IO uint8_t FR03;
__IO uint8_t FR04;
__IO uint8_t FR05;
__IO uint8_t FR06;
__IO uint8_t FR07;
__IO uint8_t FR08;
__IO uint8_t FR09;
__IO uint8_t FR10;
__IO uint8_t FR11;
__IO uint8_t FR12;
__IO uint8_t FR13;
__IO uint8_t FR14;
__IO uint8_t FR15;
__IO uint8_t FR16;
}Filter;
struct
{
__IO uint8_t F0R1;
__IO uint8_t F0R2;
__IO uint8_t F0R3;
__IO uint8_t F0R4;
__IO uint8_t F0R5;
__IO uint8_t F0R6;
__IO uint8_t F0R7;
__IO uint8_t F0R8;
__IO uint8_t F1R1;
__IO uint8_t F1R2;
__IO uint8_t F1R3;
__IO uint8_t F1R4;
__IO uint8_t F1R5;
__IO uint8_t F1R6;
__IO uint8_t F1R7;
__IO uint8_t F1R8;
}Filter01;
struct
{
__IO uint8_t F2R1;
__IO uint8_t F2R2;
__IO uint8_t F2R3;
__IO uint8_t F2R4;
__IO uint8_t F2R5;
__IO uint8_t F2R6;
__IO uint8_t F2R7;
__IO uint8_t F2R8;
__IO uint8_t F3R1;
__IO uint8_t F3R2;
__IO uint8_t F3R3;
__IO uint8_t F3R4;
__IO uint8_t F3R5;
__IO uint8_t F3R6;
__IO uint8_t F3R7;
__IO uint8_t F3R8;
}Filter23;
struct
{
__IO uint8_t F4R1;
__IO uint8_t F4R2;
__IO uint8_t F4R3;
__IO uint8_t F4R4;
__IO uint8_t F4R5;
__IO uint8_t F4R6;
__IO uint8_t F4R7;
__IO uint8_t F4R8;
__IO uint8_t F5R1;
__IO uint8_t F5R2;
__IO uint8_t F5R3;
__IO uint8_t F5R4;
__IO uint8_t F5R5;
__IO uint8_t F5R6;
__IO uint8_t F5R7;
__IO uint8_t F5R8;
} Filter45;
struct
{
__IO uint8_t ESR;
__IO uint8_t EIER;
__IO uint8_t TECR;
__IO uint8_t RECR;
__IO uint8_t BTR1;
__IO uint8_t BTR2;
uint8_t Reserved1[2];
__IO uint8_t FMR1;
__IO uint8_t FMR2;
__IO uint8_t FCR1;
__IO uint8_t FCR2;
__IO uint8_t FCR3;
uint8_t Reserved2[3];
}Config;
struct
{
__IO uint8_t MFMI;
__IO uint8_t MDLCR;
__IO uint8_t MIDR1;
__IO uint8_t MIDR2;
__IO uint8_t MIDR3;
__IO uint8_t MIDR4;
__IO uint8_t MDAR1;
__IO uint8_t MDAR2;
__IO uint8_t MDAR3;
__IO uint8_t MDAR4;
__IO uint8_t MDAR5;
__IO uint8_t MDAR6;
__IO uint8_t MDAR7;
__IO uint8_t MDAR8;
__IO uint8_t MTSRL;
__IO uint8_t MTSRH;
}RxFIFO;
}Page;
} CAN_TypeDef;
一周热门 更多>