小编Nix*_*xmd的帖子

在Qt Creator中,错过了一些例子

在ArchLinux中安装Qt Creator 2.8使用pacman安装qt5-*(*作为每个相关包)

存储库中没有示例,因此我使用了AUR中的示例,qt5示例

示例安装在/ usr/share/doc/qt/examples下

qmake-qt5 -query说:

QT_SYSROOT:
QT_INSTALL_PREFIX:/usr
QT_INSTALL_ARCHDATA:/usr/lib/qt
QT_INSTALL_DATA:/usr/share/qt
QT_INSTALL_DOCS:/usr/share/doc/qt
QT_INSTALL_HEADERS:/usr/include/qt
QT_INSTALL_LIBS:/usr/lib
QT_INSTALL_LIBEXECS:/usr/lib/qt/libexec                                                                                                              
QT_INSTALL_BINS:/usr/lib/qt/bin                                                                                                                      
QT_INSTALL_TESTS:/usr/tests                                                                                                                          
QT_INSTALL_PLUGINS:/usr/lib/qt/plugins                                                                                                               
QT_INSTALL_IMPORTS:/usr/lib/qt/imports                                                                                                               
QT_INSTALL_QML:/usr/lib/qt/qml                                                                                                                       
QT_INSTALL_TRANSLATIONS:/usr/share/qt/translations                                                                                                   
QT_INSTALL_CONFIGURATION:/etc/xdg                                                                                                                    
QT_INSTALL_EXAMPLES:/usr/share/doc/qt/examples                                                                                                       
QT_INSTALL_DEMOS:/usr/share/doc/qt/examples                                                                                                          
QT_HOST_PREFIX:/usr                                                                                                                                  
QT_HOST_DATA:/usr/lib/qt                                                                                                                             
QT_HOST_BINS:/usr/lib/qt/bin                                                                                                                         
QT_HOST_LIBS:/usr/lib                                                                                                                                
QMAKE_SPEC:linux-g++                                                                                                                                 
QMAKE_XSPEC:linux-g++                                                                                                                                
QMAKE_VERSION:3.0
QT_VERSION:5.1.0
Run Code Online (Sandbox Code Playgroud)

这意味着例子在正确的地方

但它们没有在Qt Creator中显示!

Qt Creator示例

我如何将它们带入qtcreator?

PS:我不想忘记解决方案并安装SDK.

qt qt-creator archlinux

8
推荐指数
2
解决办法
2万
查看次数

在 STM32 中从 RAM 执行代码

我最近开始在 STM32F4 核板上编程。我刚刚发现只能在有限的时间内对闪存进行编程(虽然不是少数,但它是一个评估板,它将被一遍又一遍地编程以开发不同的项目)。之后我在某处读到可以直接编程到 RAM 而不是闪存中,但找不到任何关于它的技术信息。

有谁知道如何修改链接器/makefile 来编译和链接要从 RAM 的起始地址而不是闪存执行的程序?

ps:我使用STM32CubeMX为系统工作台生成的代码和一个脚本来为项目生成makefile

c linker gcc arm stm32

7
推荐指数
2
解决办法
2万
查看次数

QString []和QStringList之间有什么区别

QStringList的对象和QStrings数组之间有什么区别?我的意思是它们似乎都表现为数组.

c++ arrays qstring qt qtcore

6
推荐指数
1
解决办法
1万
查看次数

STM32:在DMA模式下实现UART

我试图在DMA模式下实现UART,以便在每次按下按钮时发送一个简单的字符串.

所以我使用CubeMX生成代码,我已经在正常(非圆形)模式下配置了UART2 TX DMA,也没有FIFO和没有突发.

每当我在调试模式下运行代码时,我看到我第一次尝试发送字符串,它工作正常并发送字符串,但在DMA IRQ处理程序中,它调用TxHalfCpltCallback而不是TxCpltCallback,并且UART gState将保留在BUSY中模式,所以我不能用它来传输更多的字符串.

我的问题是为什么它调用TxHalfCpltCallback而不是TxCpltCallback?我应该如何处理它(因为HAL引用表示它等待发送缓冲区的后半部分!什么?)

而且,发送下一半数据是否会重新关联UART的gState?

我想请某人给我们一个在项目中配置UART的示例.

hal stm32 dma uart

5
推荐指数
3
解决办法
3万
查看次数

使用 C++ 将半字写入闪存时的 ARM Cortex-M HardFault 异常

我已经使用 C++ 编写了一个在 ARM Cortex-M (STM32F0) 上运行的项目,但是我在将定义的缓冲区作为类成员访问时遇到了一些问题,尽管我通过将它们定义为全局变量来解决这个问题。

但是现在我完全被这个新问题困住了,我不知道该怎么办。

我有一个代码可以解锁闪存并向其中写入内容并关闭它。如果我在 C 文件中实现它并通过 C 自然运行它(从 main.c 调用)它工作完美。但是通过 C++ 文件(无论是写在 C 还是 C++ 源文件中)调用它会抛出一个 HardFault 异常。

static uint32_t waitForLastOperation(uint32_t msDelay)
{
  while (READ_BIT(FLASH->SR, FLASH_SR_BSY) && msDelay)
  {
    LL_mDelay(1);
    msDelay--;
  }

  /* Check FLASH End of Operation flag  */
  if (READ_BIT((FLASH->SR), (FLASH_SR_EOP)))
  {
    /* Clear FLASH End of Operation pending bit */
    (FLASH->SR) = (FLASH_SR_EOP);
  }

  if (READ_BIT((FLASH->SR),
      (FLASH_SR_WRPERR)) || READ_BIT((FLASH->SR), (FLASH_SR_PGERR)))
  {
    FLASH->SR = 0U;
    return 0;
  }

  /* There is no error …
Run Code Online (Sandbox Code Playgroud)

c c++ gcc arm stm32

5
推荐指数
1
解决办法
761
查看次数

STM32 ADC连续转换模式不会自动启动转换

我试图在简单的连续转换模式下通过STM32F411RE配置ADC.我使用CubeMX生成基于HAL驱动程序的代码,这是初始化ADC的生成代码的一些部分:

/* ADC1 init function */
void MX_ADC1_Init(void)
{

    /**Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion) 
    */
  hadc1.Instance = ADC1;
  hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8;
  hadc1.Init.Resolution = ADC_RESOLUTION_8B;
  hadc1.Init.ScanConvMode = DISABLE;
  hadc1.Init.ContinuousConvMode = ENABLE;
  hadc1.Init.DiscontinuousConvMode = DISABLE;
  hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
  hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
  hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
  hadc1.Init.NbrOfConversion = 1;
  hadc1.Init.DMAContinuousRequests = DISABLE;
  hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
  if (HAL_ADC_Init(&hadc1) != HAL_OK)
  {
    Error_Handler();
  }

}
Run Code Online (Sandbox Code Playgroud)

这是主要功能:

int main(void)
{

  /* USER CODE BEGIN 1 */

  /* …
Run Code Online (Sandbox Code Playgroud)

microcontroller gcc arm stm32 adc

4
推荐指数
1
解决办法
5441
查看次数

暂停调试器时STM32冻结周边

调试器可以在到达断点或用户暂停代码执行时停止在Cortex中执行代码。但是,当皮质停止在暂停状态下执行代码时,调试器是否冻结其他外围变量,如DMA,UART和TIMERS?

debugging gdb arm stm32

4
推荐指数
1
解决办法
1914
查看次数

使用 QML 绘制 SVG

如何使用 qml 用简单的话绘制 SVG?

根据 QtDocs,可以使用以下代码绘制 SVG:

Path {
    startX: 50; startY: 50
    PathSvg { path: "L 150 50 L 100 150 z" }
}
Run Code Online (Sandbox Code Playgroud)

但实际上并非如此。那么,如何绘制 SVG 呢?

qt qml

2
推荐指数
1
解决办法
3234
查看次数

标签 统计

stm32 ×5

arm ×4

gcc ×3

qt ×3

c ×2

c++ ×2

adc ×1

archlinux ×1

arrays ×1

debugging ×1

dma ×1

gdb ×1

hal ×1

linker ×1

microcontroller ×1

qml ×1

qstring ×1

qt-creator ×1

qtcore ×1

uart ×1