-
关于华大HC32F4A0 HRC_FREQ_MON()宏的地址问题
[i=s] 本帖最后由 cmt9964 于 2021-11-28 19:49 编辑 [/i] 初学嵌入式编程,望大佬帮助 华大HC32F4A0中的示例中,在SystemInit函数中调用SystemCoreClockUpdate,其中有一段代码如下: /* Select proper HRC_VALUE according to ICG1.HRCFREQSEL bit */ /* ICG1.HRCFREQSEL = '0' represent HRC_VALUE = 20000000UL */ /* ICG1.HRCFREQSEL = '1' represent HRC_VALUE = 16000000UL */ if (1UL == (HRC_FREQ_MON() & 1UL)) { HRC_VALUE = HRC_16MHz_VALUE; } else { HRC_VALUE = HRC_20MHz_VALUE; } 这个函数中用了一个宏HRC_FREQ_MON(),定义为 #define HRC_FREQ_MON() (*((volatile unsigned int*)(0x40010684UL))) 按照用户手册,ICG1的地址应该是0x404,为什么在这个宏中使用的是这个地址?
5341浏览量 7回复量 关注量 -
keil在模拟STC12C5A32S2时为什么串口只有一个? sos
[color=#333333][backcolor=rgb(255, 255, 255)][font="]是因为支持不好还是什么原因?哪位大神知道?[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]dir vtreg[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]PPAGE: ulong, value = 0xFFFFFFFF[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]XPAGE: ulong, value = 0xFFFFFFFF[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]XTAL: ulong, value = 0x02AEA540[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]RING: ulong, value = 0x003D0900[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]CLOCK: ulong, value = 0x02AEA540[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]PORT0: uchar, value = 0xFF[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]PORT1: uchar, value = 0xFF[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]PORT2: uchar, value = 0xFF[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]PORT3: uchar, value = 0xFF[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]S0IN: uint, value = 0x0000[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]S0OUT: uint, value = 0x0000[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]S0TIME: uchar, value = 0x01[/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font="]如果是2个串口应该有S1IN S1OUT之类的[/font][/backcolor][/color]
2471浏览量 0回复量 关注量 -
gd32 usbfs是否与stm32有对应关系?
本来打算使用gd32e103的,发现它的usb似乎并没有与stm32f105的兼容。所以用它的库,发现了以下缺点,不得不吐槽一下: 1. CMSIS居然不支持gcc,还得自己写汇编和链接。 2. 没有像stm32的库那样可以用结构体控制外设。 3. usbfs的驱动写的十分恶心,看上去啥都实现了,实际上代码量比其他的库高,并没有把一些应该由协议栈完成的事给解决了,而且不支持回调,貌似只能轮询? 4. 定义了HXTAL_VALUE后还得定义HXTAL_VALUE_8M,否则会导致进入Hardfault。调试了很长时间。 5. c++的兼容上有一些细节没有处理好,当然这可以忽略,主要是头文件的引用问题。 gd32的芯片是很好的,就是软件支持嘛。。。协议栈实现起来麻烦可以提供一些移植到别人协议栈的代码啊,比如libopencm3,teenyusb,libusb_stm32等等,这些我们开发者来写就有点麻烦了。 我写一个程序还得非半天劲来调试,还得想办法移植。 你说他没有吧,他有,但是说有吧,可用性实在有点低。。。 程序库没有详细看,不过代码命名的风格还挺合我的口味的,质量上可能还差点。 如果有人知道它的usbfs与stm32的对应关系请务必指点下,最近打算用回stm32了,等时机成熟以后再考虑gd32。
2810浏览量 2回复量 关注量 -
GD32E505计算16位CRC不对啊 sos
#define CRC_INITIAL_VALUE 0x0000 #define CRC_POLY_VALUE 0x1021 #define CRC_SET_CONTROL_REG CRC_CTLR = 0x09 // 输出数据不翻转,输入数据不翻转, 16位, 复位
1574浏览量 0回复量 关注量