接触stm8一个多月了 晕晕乎乎 对下面的语句有些疑问 请多多指教 #define UART1_SR_RESET_VALUE ((uint8_t)0xC0) #define UART1_BRR1_RESET_VALUE ((uint8_t)0x00) #define UART1_BRR2_RESET_VALUE ((uint8_t)0x00) #define UART1_CR1_RESET_VALUE ((uint8_t)0x00) #define UART1_CR2_RESET_VALUE ((uint8_t)0x00) #define UART1_CR3_RESET_VALUE ((uint8_t)0x00) #define UART1_CR4_RESET_VALUE ((uint8_t)0x00) #define UART1_CR5_RESET_VALUE ((uint8_t)0x00) #define UART1_GTR_RESET_VALUE ((uint8_t)0x00) #define UART1_PSCR_RESET_VALUE ((uint8_t)0x00) UART1的寄存器复位值的宏定义 有几个疑问 1.为什么用#define?直接UART1_SR_RESET_VALUE=0;可不可以? 2.为什么要加上(uint8_t)? 这样 #define UART1_SR_RESET_VALUE (0xC0)写是否可以?或者把0x00的括号也去掉是否可以? 3.为什么状态寄存器的复位值是C0(1100 0000)?其他的却是0x00. 4.看到很多例程都没有复位这些寄存器,应该是mcu上电自动复位吧?有没有必要复位这些寄存器? |
STM8S003F3U6 请求各位大佬支援,但是遇到如下问题。。。这样就一定是这颗芯片的问题吗?
STVD如何生成库文件
STM8 flash 库函数 startaddress = startaddress + ((uint32_t)BlockNum * FLASH_BLOCK_S
stm 8 flash 在RAM运行代码的问题,是不是库函数有问题 Library call (?sll32_l0_l0_a) from within a
STM 有能替代MCHC912B32CFUE8 / NXP的型号吗?
STM8S的CAN总线使用
STM8L151在使用DAC功能后严重发热
STM8 IIC SLAVE 400K
STM8S 定时器1互补输出pwm
STM8S003F3 NRST电压低,无法开机
3、请参考芯片的参考手册,ST就那么设计来着。
4、上电后自动复位,可以在仿真的时候查看寄存器的数值。
2.(uint8_t)代表定制这个的类型,防止出现隐性类型转换,括号为了防止常量替换的时候出现结合问题。
3.芯片设计如此
4.上电会用默认值