欢迎使用YTM32B1HA0 1_0_0_HF001,该版本更新主要包含以下内容:
Details bugs Pwm: add the MPWM support in LQFP-144 package resource of YTM32B1HA01 device Fix issue of Pwm period and dutycycle error due to eTMR errata 3 inappropriate application Lin: Fix the LIN_SLAVE_API_SUPPORT LIN_MASTER_API_SUPPORT precompiled macro switch location bug Adc: Fix Adc hardware index data overflow bug features Adc: Update the qac test for Fls and Adc modules Lin: Update Lin_FrameResponseType according to 4.4.0 AUTOSAR specification of LIN Driver Gpt: remove the out-of-date comment in xdm Platform: empty ivt when define USING_OS_AUTOSAROS CddUart: Update CddUart channel Symbolic Name Fee: Delete unused valid rule in Fee/FeeClusterGroup/FeeCluster/FeeSector/FeeSectorRef请教一下:MCAL环境下是如何实现时钟监测的?没找到相关设置项。
之前在z20下通过如下方式实现片外时钟和片内高速时钟之间的切换。
现在Mcu_InitClock(0)或Mcu_InitClock(1)独立运行都是正常的。但自动切换实现不了,片外24M时钟接地后会造成系统死机。且MCAL库也没有Mcu_EnableOscClockMonitor()函数。
需求:如何关闭互补通道其中一路
例如eTMR0 CH2、CH3互补输出,CH4、CH5互补输出
a3e83aba-3442-4b45-97d0-a0ec7aef41ec-image.png
通过以下API来控制某一路PWM的输出
7abf3c2c-6065-4b66-868a-1cf6ffd10eee-image.png
d7c7fbe8-5736-4ca4-9600-f095e9addf23-image.png
bd42cb8e-3123-49a0-a915-bcc6175836c8-image.png
45717fcd-6e0f-4d10-8924-b3f16933a8b1-image.png
fc4e0461-18bc-4cc8-a83e-8cea037058d5-image.png
其中softwareTriggle参数代表立马更新还是下个周期更新
0c17be0d-0d38-4d1f-95b8-906716c6df25-image.png
f7b7941b-6232-45f5-af0c-c716da5d5159-image.png
之前在z20上跑通过Fls +LittleFs文件系统。本以为移植过来很简单因为都是Fls。
移植过来后文件系统挂载不了,之后试跑官方Fls例程是可以的,再把例程移植到自己的工程后也是通的。
调试过程中有时候会出现连接错误:
size(block DATA_RAM_block) = 256 (0x100)
size(block DATA_RAM_rom_block) = 252 (0xfc)
查看论坛帖子后,把DATA_FLASH 和 DATA_RAM都改为aligned (8)后此现象消失,但文件系统还是不行。
虽然例程是通的,但例程在擦除dflash扇区后,写操作数据量是0x800,即2048字节,如果改为32,128等数,写操作似乎是失效的,但读操作没有影响,或许这就是文件系统挂载失败的原因。烦请帮忙解决一下,谢谢了。
// step I :擦除一个扇区 Fls_Erase(0, 2048); do{ Fls_MainFunction(); } while (Fls_GetStatus() != MEMIF_IDLE); // step II: 写数据 for(LoopCnt= 0; LoopCnt< 0x800; LoopCnt++)Fls_WriteData[LoopCnt] = LoopCnt%0x100U; Fls_Write(128, Fls_WriteData, 32); do{ Fls_MainFunction(); } while (Fls_GetStatus() != MEMIF_IDLE); // step III:读数据 for(LoopCnt = 0; LoopCnt < 128; LoopCnt++) Fls_ReadData[LoopCnt] = 0; Fls_Read(128, Fls_ReadData, 32); do{ Fls_MainFunction(); } while (Fls_GetStatus() != MEMIF_IDLE);1、问题:CAN的配置如下,能正常收发,但是我在代码里面FLEXCAN_DRV_Receive收不到CAN相关的信息,请问是什么原因?
CAN配置如下:3393e557-c02a-4ad8-a2dd-3b2d666d1a38-0b8d9284d1c5a0ce77b804d985fd189.png
0a7b2df2-e97d-40b8-b94b-045798c54c16-a9dc05387384e67cd8379a6771c148d.png
CAN报文收发正常:
cb18ab05-d194-4557-95ce-03d32ee0c7c5-83ea422cbab55c9c88f3184f2a76ffd.png
问题现象:进入不了FLEXCAN_DRV_Receive这里面,收不到CAN数据
bee14cf9-f2b7-4f62-8dff-577917989d60-f248a249f13c2f82e752160fabaf67c.png
怀疑:是不是IntCtrl需要配置?
硬件平台:YTM32B1H... Rev.B
软件Demo:官方MCAL库的Can_Demo例程
调试步骤:
1 - YTC生成工程,下载到开发板,连接CAN0到ZLG的USB-CAN2,借助上位机查看收发情况;
2 - 收发都不正常,没反应;
3 - 检查了例程的Mcu,Port,PlatForm配置,都挺正常;
4 - 删除例程中的除CAN0之外的设置;
5 - tx,rx,busoff均改为中断模式,不使用polling;
6 - can时钟调整为快总线时钟,同步更改波特率配置项;
7 - main.c函数做相应修改。
8 - 修改后还是纹丝不动,不发不收。
其它困惑:
1 - 云图MCAL配置里面的超时项并不是严格意义上的绝对时间差,只是代表了循环次数;
2 - 邮箱方式,FIFO方式,在使用上有无相关的应用笔记可参考。
Can_Demo.zip
版本:ME0 SDK 1.3.1
功能:SPI master使用片选PCS0,PCS1切换两路slave SPI ,选中PCS0时发送A0-A7,选中PCS1时发送B0-B7
测试数据如下:
片选0 输出A0-A7
42f5f32a-f3aa-4921-a07d-3980183f7ed9-image.png
片选1,输出B0-B7
0d7848be-29ab-4580-af81-2a3c42944061-image.png
信号3为片选信号切换,由于只有三根线束只能分开显示
603764e0-c795-4d29-8ccf-30bd472f5030-image.png
程序实现:
定义发送数组
cc11c20c-db5b-4cea-b282-ab62c994e917-image.png
初始化SPI配置,当前初始化的片选信号是SPI_PCS0
96ec6da2-28f7-4f37-ad20-a7bc40b5803c-image.png
afa60f29-3d14-4f91-973a-e36e4f129cc1-image.png
切换片选信号和发送数据,使用 SPI_DRV_SetPcs() API根据需要进行片选信号切换即可。在这里为了便于使用万用表测量,做了一个count 计数,可以直接使用万用表测量对应的管脚,也能检测到电平进行周期性变化。
807d1369-da66-4337-a755-315efb23abdf-image.png
示例代码如下:
master_2slave.zip
Gpt有两个通道:
TRM0-CH0: 无限循环,自由计数
TRM0-Ch1; 设置为50ms一次中断。
测试方案:
用通道0检测通道1中断的准确性。
软件平台:
threadx做os,官方例程修改
问题描述:
如果线程中的tx_thread_sleep(100)改为10即10ms时,测时很准就是50ms周期与设计相符;
但如果设为100ms,则显示的测量值会在35ms-65ms之间波动,但平均值应该还是50ms。这种现象肉眼可见,不知道咋回事。卡了一下午无果。
-
-
Discussion & Question
A place to talk about whatever you want or ask a question
-
Blogs
Blog posts from individual members
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...