拿到Jlink第一时间进行上电测试,不知是Jlink固件版本问题还是硬件本身问题 MDK上传程序老是无法识别芯片。
万物皆可点灯,前面已经有博主撸了按键控制LED的程序,今天就来个呼吸灯吧!
根据手册可知LC046N有六个定时器
初始化GPIO_B10和GPTIM0的通道1,设置预分频系数和自动重装载值;
void MF_GPTIM0_TimerBase_Init(void)
{
FL_GPTIM_InitTypeDef TimerBaseInitStruct;
TimerBaseInitStruct.prescaler = (uint16_t)999; //预分频系数
TimerBaseInitStruct.counterMode = FL_GPTIM_COUNTER_DIR_UP;//计数模式
TimerBaseInitStruct.autoReload = 120; //自动重装载值
TimerBaseInitStruct.autoReloadState = DISABLE;//预装载使能
TimerBaseInitStruct.clockDivision = FL_GPTIM_CLK_DIVISION_DIV1;//采样时钟分频比
FL_GPTIM_Init(GPTIM0,&TimerBaseInitStruct );
}
void MF_GPTIM0_Channel1_Init(void)
{
FL_GPIO_InitTypeDef GPIO_InitStruct;
FL_GPTIM_OC_InitTypeDef defaultInitStruct;
GPIO_InitStruct.pin = FL_GPIO_PIN_10; //GPIO
GPIO_InitStruct.mode = FL_GPIO_MODE_DIGITAL;//模式
GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;//输出类型
GPIO_InitStruct.pull = DISABLE; //上拉试能
GPIO_InitStruct.remapPin = ENABLE;//重定向
FL_GPIO_Init( GPIOB, &GPIO_InitStruct );
defaultInitStruct.OCMode = FL_GPTIM_OC_MODE_PWM1;//输出模式
defaultInitStruct.OCFastMode = DISABLE;
defaultInitStruct.OCPreload = DISABLE;
defaultInitStruct.compareValue = 0x1F4U;
defaultInitStruct.OCPolarity = FL_GPTIM_OC_POLARITY_NORMAL;
defaultInitStruct.OCETRFStatus = DISABLE; //ETR清零使能
FL_GPTIM_OC_Init(GPTIM0,FL_GPTIM_CHANNEL_1,&defaultInitStruct );
}
在fm33lc0xx_fl_gptim.h中可以看到TIM的输出函数,直接在主函数中调用即可
#include "main.h"
#include "demo_gptim.h"
int main(void)
{
uint16_t pwmval=10;
uint8_t dir=1;
MF_Clock_Init();
MF_SystemClock_Config();
UserInit();
MF_Config_Init();
GPTIM_Start( );
while(1)
{ DelayMs(6);
if(dir)pwmval++;
else pwmval--;
if(pwmval>160)dir=0;
if(pwmval<10)dir=1;
//pwmval++;
// FL_GPTIM_WriteCompareCH2(GPTIM0,pwmval);
FL_GPTIM_WriteCompareCH1(GPTIM0,pwmval);
}
}
运行效果
本帖最后由 叫我阿深就好 于 2021-2-25 23:37 编辑亲,应该是你的flash没有选对,在这个链接https://m.eeworld.com.cn/bbs_thread-1155827-1-1.html,把jflash工程配置下载下来,找到这块开发板的flash,然后在Keil中flash download中,add该flash,然后再烧写试下
引用: chrisrh 发表于 2021-2-26 12:18 亲,应该是你的flash没有选对,在这个链接https://m.eeworld.com.cn/bbs_thread-1155827-1-1.html,把jflash ...
亲,我选的就是LC046的啊,不是每次都出现这个错误,但是烧录那个FreeRTOS的demo是一直这样导致无法烧录
引用: 叫我阿深就好 发表于 2021-2-26 13:53 亲,我选的就是LC046的啊,不是每次都出现这个错误,但是烧录那个FreeRTOS的demo是一直这样导致无法烧录 ...
把Reset and Run的勾选取消后再试试
引用: chrisrh 发表于 2021-2-28 23:49 把Reset and Run的勾选取消后再试试
供电问题,已解决,谢谢