[MCU] FM33LCOXXN 开发板评测

[复制链接]
 楼主| Gavin3389 发表于 2021-11-29 13:22 | 显示全部楼层 |阅读模式
本帖最后由 Gavin3389 于 2021-11-29 13:21 编辑

FM33LCOXXN开发板评测

废话不多说,直接开始把
~~~~~~~~~~~~~~~~~~~~~此处省略若干感谢和客套~~~~~~~~~~~~~~~~~~~~~~~~~~~

一、混沌中寻求指路的明灯

论坛网址
www.fmdevelopers.com.cn



先下载了资料,居然提供了原理图和PCB的源文件,非常的大气。
然而,有些小瑕疵,
这里文件名是V1.1版本,而我收到的板子是V1.0的,只有这一个资料包,没有找到V1.0的版本文件。

应该差不多,不会修改太太,本着先看看的心态,打开文件


丝印居然和我的板子一样,是V1.0的,这应该是画图的人,忘了改版本号了吧,无大碍。
刚要欣喜一下,却又发现了问题
先找供电,供电的话应该是J13这里,因为jack端子根本没有焊,
而我的板子J13type-c而这里是BUSB接口,
整体布局咋一看,没有什么改变,既然只有这一份资料,那么干就完了~~~

初步下载了基础资料文件,再到这回去看论坛,
貌似从这里点击去有新的发现

有个用户手册,应该是网页版的吧,估计可能是为了及时的更新和维护,这个非常不错,能帮助你很快的了解开发板。





这里截一个板子的资源说明,以便有个感性的认知。具体就不再赘述了,不然就显得班门弄斧了,大家自己去看,这个用户手册不错,带你入门还是很容易的,可以看出,手册也正在不断丰富的过程中。


二、秘籍已到手,打磨下冰刃

下面开发环境搭建一下,keil相信每个人的电脑里都有,这里直接安装pack
我装的是Keil.FM33LC0XX_DFP.3.0.1.pack


安装完之后,keil里就可以看到芯片了


三、先找个简单的篇章,练个气

一起下载的还有很多例程,我选择“ADC查询”来尝试一下,看看环境搭建,pack,下载编译一套下来能不能跑通~~~

主函数
  1. uint32_t  GetVoltage;


  2. int main(void)
  3. {
  4.     /* Reset of all peripherals, Initializes the Flash interface and the Systick. */

  5.     /* SHOULD BE KEPT!!! */
  6.     MF_Clock_Init();

  7.     /* Configure the system clock */
  8.     /* SHOULD BE KEPT!!! */
  9.     MF_SystemClock_Config();

  10.     /* Initialize FL Driver Library */
  11.     /* SHOULD BE KEPT!!! */
  12.     FL_Init();


  13.     /* Initialize all configured peripherals */
  14.     /* SHOULD BE KEPT!!! */

  15.     MF_Config_Init();

  16.     while(1)
  17.     {
  18.         GetVoltage = GetSingleChannelVoltage_POLL(FL_ADC_EXTERNAL_CH0);

  19.     }

  20. }

转换函数
  1. uint32_t GetSingleChannelVoltage_POLL(uint32_t channel)
  2. {
  3.     uint32_t Get122VSample, GetChannelVoltage;
  4.     uint64_t GetVSample;

  5.     Get122VSample = GetVREF1P2Sample_POLL();
  6.     GetVSample = GetSingleChannelSample_POLL(channel);
  7.     GetChannelVoltage = (GetVSample * 3000 * (ADC_VREF)) / (Get122VSample * 4095);
  8.     // 转换结果
  9.     return GetChannelVoltage;
  10. }
初始化
  1. void MF_Config_Init(void)
  2. {
  3.     /*FUNCTION CALL*/
  4.      MF_ADC_Common_Init();
  5.      MF_ADC_Init();

  6. }
  1. void MF_ADC_Common_Init(void)
  2. {

  3.     /*IO CONFIG*/
  4.     FL_ADC_CommonInitTypeDef    CommonInitStruct;

  5.     CommonInitStruct.clockSource = FL_RCC_ADC_CLK_SOURCE_RCHF;
  6.     CommonInitStruct.clockPrescaler = FL_RCC_ADC_PSC_DIV8;

  7.     FL_ADC_CommonInit(&CommonInitStruct );

  8.    
  9. }
  1. void MF_ADC_Init(void)
  2. {

  3.     FL_GPIO_InitTypeDef    GPIO_InitStruct;

  4.     FL_ADC_InitTypeDef    defaultInitStruct;

  5.     GPIO_InitStruct.pin = FL_GPIO_PIN_9;
  6.     GPIO_InitStruct.mode = FL_GPIO_MODE_ANALOG;
  7.     GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
  8.     GPIO_InitStruct.pull = FL_DISABLE;
  9.     GPIO_InitStruct.remapPin = FL_DISABLE;

  10.     FL_GPIO_Init( GPIOC, &GPIO_InitStruct );

  11.     defaultInitStruct.conversionMode = FL_ADC_CONV_MODE_SINGLE;
  12.     defaultInitStruct.autoMode = FL_ADC_SINGLE_CONV_MODE_AUTO;
  13.     defaultInitStruct.waitMode = FL_ENABLE;
  14.     defaultInitStruct.overrunMode = FL_ENABLE;
  15.     defaultInitStruct.scanDirection = FL_ADC_SEQ_SCAN_DIR_BACKWARD;
  16.     defaultInitStruct.externalTrigConv = FL_ADC_TRIGGER_EDGE_NONE;
  17.     defaultInitStruct.triggerSource = FL_ADC_TRGI_PA8;
  18.     defaultInitStruct.fastChannelTime = FL_ADC_FAST_CH_SAMPLING_TIME_4_ADCCLK;
  19.     defaultInitStruct.lowChannelTime = FL_ADC_SLOW_CH_SAMPLING_TIME_192_ADCCLK;
  20.     defaultInitStruct.oversamplingMode = FL_ENABLE;
  21.     defaultInitStruct.overSampingMultiplier = FL_ADC_OVERSAMPLING_MUL_16X;
  22.     defaultInitStruct.oversamplingShift = FL_ADC_OVERSAMPLING_SHIFT_4B;

  23.     FL_ADC_Init(ADC,&defaultInitStruct );

  24.    
  25. }

简单看了代码,编译下载~~~~

这里需要注意一下,我使用的是SW接口下载程序,但这个板子的下载口线序,与之前的线序定义不太一样,swioswclk需要互换一下,多了个TM引脚,不太确定是干什么用的,直接跳过去,悬空处理。

之前的下载线拔下来,

用杜邦线自己连接一下,如下:


仿真看一下
GetVoltage添加到Watch窗口,观察先变量的值。



至此,资料下载,环境搭建,代码编译仿真,基本上是跑通了,
后面就要慢慢熟悉板子和例程风格了,同时推荐一下“魔方”。
也是在上面的连接里直接就能看到


现在各大厂商,为了给用户提供快速的开发验证体验,接连推出各种代码初始化生成工具,
这个的亮点是,在线的
本来以为在线的工具会卡的要命,我简单试了一下,反应和交互性还可以,都在接受范围内,
所以,值得一试。

四、故作仙风道骨,假装吐吐槽

第一次接触这个开发板,例程的风格还不是很熟悉,把前期的开发准备工作,粗略的走了一遍,整体上感觉还不错。
有些无伤大雅的小细节感觉有所欠缺,就是官网的资料中版本的分类有些模糊,可能是更改的并不多,并且是通用的,不影响使用,但是对于初学者来说,相差一点,都会心虚。当然理解其中资料整理的麻烦之处,每个搞开发的,都很难逃脱开文件归档的厄运。
建议至少出具了说明文档,记录下更新的过程,打消下使用者的疑虑就好。


五、感谢是真的,多了是废话,汇总一句。
最终,感谢有幸获得这次体验资格,祝微电子和光大工程师朋友们,蒸蒸日上!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

536

帖子

3

粉丝
快速回复 返回顶部 返回列表