Commit 6a65747e authored by Zhuoyu Zhang's avatar Zhuoyu Zhang
Browse files

v2.1

parent 8676a13c
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-402511204439074434" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1773829773744624279" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-402511204439074434" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1773829773744624279" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>
......
{
"version": "0.2.1",
"configurations": [
{
"project": "CMakeLists.txt",
"projectTarget": "pjsspoon.elf",
"name": "Launch",
"type": "cppdbg",
"request": "launch",
"cwd": "${workspaceRoot}",
"program": "${debugInfo.fullTargetPath}",
"MIMode": "gdb",
"miDebuggerPath": "${st.gdb}",
"miDebuggerServerAddress": "localhost:3333",
"debugServerPath": "${st.gdbserver}",
"debugServerArgs": "--stm32cubeprogrammer-path ${st.cubeprogrammer} --swd --port-number 3333",
"serverStarted": "Waiting for connection on port .*\\.\\.\\.",
"stopAtConnect": true,
"postRemoteConnectCommands": [
{
"text": "load build/debug/build/pjsspoon.elf"
}
],
"svdPath": "${st.svd}/STM32F103.svd" }
]
}
\ No newline at end of file
{
"recommendations": [
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-vscode.vscode-embedded-tools"
]
}
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "cppdbg",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${command:cmake.launchTargetPath}",
"MIMode": "gdb",
"miDebuggerPath": "${command:vscode-embedded.st.gdb}",
"miDebuggerServerAddress": "localhost:3333",
"debugServerPath": "${command:vscode-embedded.st.gdbserver}",
"debugServerArgs": "--stm32cubeprogrammer-path ${command:vscode-embedded.st.cubeprogrammer} --swd --port-number 3333",
"serverStarted": "Waiting for connection on port .*\\.\\.\\.",
"stopAtConnect": true,
"postRemoteConnectCommands": [
{
"text": "load build/debug/build/pjsspoon.elf"
}
],
"logging": {
"engineLogging": true
},
"preLaunchTask": "Build",
"svdPath": "${command:vscode-embedded.st.svd}/STM32F103.svd"
}
]
}
...@@ -17,5 +17,9 @@ ...@@ -17,5 +17,9 @@
"priority": 4 "priority": 4
} }
], ],
"stm32-for-vscode.makePath": false "stm32-for-vscode.makePath": false,
"C_Cpp.errorSquiggles": "disabled",
"files.associations": {
"mpu6050.h": "c"
}
} }
\ No newline at end of file
{
"version": "2.0.0",
"tasks": [
{
"label": "Build",
"type": "cmake",
"command": "build",
"problemMatcher": "$gcc",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
cmake_minimum_required(VERSION 3.20)
project("pjsspoon" C CXX ASM)
include(cmake/st-project.cmake)
add_executable(${PROJECT_NAME})
add_st_target_properties(${PROJECT_NAME})
\ No newline at end of file
{
"version": 2,
"configurePresets": [
{
"name": "default",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}/build",
"cacheVariables": {
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/${presetName}/install",
"CMAKE_TOOLCHAIN_FILE": {
"type": "FILEPATH",
"value": "${sourceDir}/cmake/gcc-arm-none-eabi.cmake"
}
},
"architecture": {
"value": "unspecified",
"strategy": "external"
},
"vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": {
"intelliSenseMode": "linux-gcc-arm"
}
}
},
{
"name": "debug",
"inherits": "default",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"PRESET_NAME": "debug"
}
},
{
"name": "release",
"inherits": "default",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"PRESET_NAME": "release"
}
}
],
"buildPresets": [
{
"name": "debug",
"configurePreset": "debug"
},
{
"name": "release",
"configurePreset": "release"
}
]
}
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
/* 定义IIC总线连接的GPIO端口, 用户只需要修改下面4行代码即可任意改变SCL和SDA的引脚 */ /* 定义IIC总线连接的GPIO端口, 用户只需要修改下面4行代码即可任意改变SCL和SDA的引脚 */
#define GPIO_PORT_IIC GPIOB /* GPIO端口 */ #define GPIO_PORT_IIC GPIOB /* GPIO端口 */
#define RCC_IIC_ENABLE __HAL_RCC_GPIOB_CLK_ENABLE() /* GPIO端口时钟 */ #define RCC_IIC_ENABLE __HAL_RCC_GPIOB_CLK_ENABLE() /* GPIO端口时钟 */
#define IIC_SCL_PIN GPIO_PIN_8 /* 连接到SCL时钟线的GPIO */ #define IIC_SCL_PIN GPIO_PIN_14 /* 连接到SCL时钟线的GPIO */
#define IIC_SDA_PIN GPIO_PIN_9 /* 连接到SDA数据线的GPIO */ #define IIC_SDA_PIN GPIO_PIN_15 /* 连接到SDA数据线的GPIO */
/* 定义读写SCL和SDA的宏,已增加代码的可移植性和可阅读性 */ /* 定义读写SCL和SDA的宏,已增加代码的可移植性和可阅读性 */
#if 1 /* 条件编译: 1 选择GPIO的库函数实现IO读写 */ #if 1 /* 条件编译: 1 选择GPIO的库函数实现IO读写 */
......
...@@ -104,72 +104,43 @@ int main(void) ...@@ -104,72 +104,43 @@ int main(void)
MX_USART1_UART_Init(); MX_USART1_UART_Init();
MX_TIM1_Init(); MX_TIM1_Init();
MX_TIM4_Init(); MX_TIM4_Init();
/* USER CODE BEGIN 2 */ // /* USER CODE BEGIN 2 */
MPU_Init(); // MPU_Init();
while (mpu_dmp_init()) // while (mpu_dmp_init())
{ // {
printf("MPU6050 Error!!!\r\n"); // printf("MPU6050 Error!!!\r\n");
HAL_Delay(500); // HAL_Delay(500);
} // }
printf("MPU6050 OK\r\n"); // printf("MPU6050 OK\r\n");
/* USER CODE END 2 */ /* USER CODE END 2 */
/* Infinite loop */ /* Infinite loop */
/* USER CODE BEGIN WHILE */ /* USER CODE BEGIN WHILE */
while (1) while (1)
{ {
if (mpu_dmp_get_data(&pitch, &roll, &yaw) == 0) // if (mpu_dmp_get_data(&pitch, &roll, &yaw) == 0)
{ // {
temp = MPU_Get_Temperature(); // temp = MPU_Get_Temperature();
MPU_Get_Accelerometer(&aacx, &aacy, &aacz); // MPU_Get_Accelerometer(&aacx, &aacy, &aacz);
MPU_Get_Gyroscope(&gyrox, &gyroy, &gyroz); // MPU_Get_Gyroscope(&gyrox, &gyroy, &gyroz);
if (1) // if (1)
{ // {
if ((t % 10) == 0) // if ((t % 10) == 0)
{ // {
// if (temp < 0)
// {
// temp = -temp; // 转为正数
// printf(" Temp: -%d.%dC\r\n", temp / 100, temp % 10);
// }
// else
// printf(" Temp: %d.%dC\r\n", temp / 100, temp % 10);
// pitch�??????
temp = yaw * 10;
if (temp < 0)
{
temp = -temp; // 转为正数
printf("-%d.%d\r\n", temp / 10, temp % 10);
}
else
printf("%d.%d\r\n", temp / 10, temp % 10);
// // roll�??????
// temp = roll * 10;
// if (temp < 0)
// {
// temp = -temp; // 转为正数
// printf(" Roll: -%d.%dC\r\n", temp / 10, temp % 10);
// }
// else
// printf(" Roll: %d.%dC\r\n", temp / 10, temp % 10);
//
// temp = yaw * 10; // temp = yaw * 10;
// if (temp < 0) // if (temp < 0)
// { // {
// temp = -temp; // 转为正数 // temp = -temp; // 转为正数
// printf(" Yaw: -%d.%dC\r\n", temp / 10, temp % 10); // printf("-%d.%d\r\n", temp / 10, temp % 10);
// } // }
// else // else
// printf(" Yaw: %d.%dC\r\n", temp / 10, temp % 10); // printf("%d.%d\r\n", temp / 10, temp % 10);
// // t = 0;
// printf("\r\n"); // }
t = 0; // }
} // printf("nima\r\n");
} HAL_GPIO_WritePin(GPIOA,GPIO_PIN_11,0);
} }
}
/* USER CODE END WHILE */ /* USER CODE END WHILE */
/* USER CODE BEGIN 3 */ /* USER CODE BEGIN 3 */
......
../Core/Src/IIC.c:46:13:IIC_Delay 2
../Core/Src/IIC.c:71:6:IIC_Start 1
../Core/Src/IIC.c:91:6:IIC_Stop 1
../Core/Src/IIC.c:108:6:IIC_Send_Byte 4
../Core/Src/IIC.c:144:9:IIC_Read_Byte 4
../Core/Src/IIC.c:178:9:IIC_Wait_Ack 2
../Core/Src/IIC.c:207:6:IIC_Ack 1
../Core/Src/IIC.c:226:6:IIC_NAck 1
../Core/Src/IIC.c:244:6:IIC_GPIO_Init 1
../Core/Src/IIC.c:276:9:IIC_CheckDevice 1
No preview for this file type
../Core/Src/gpio.c:42:6:MX_GPIO_Init 1
No preview for this file type
../Core/Src/inv_mpu.c:700:12:set_int_enable 9
../Core/Src/inv_mpu.c:735:5:mpu_reg_dump 5
../Core/Src/inv_mpu.c:758:5:mpu_read_reg 4
../Core/Src/inv_mpu.c:780:5:mpu_init 16
../Core/Src/inv_mpu.c:920:5:mpu_lp_accel_mode 8
../Core/Src/inv_mpu.c:1012:5:mpu_get_gyro_reg 4
../Core/Src/inv_mpu.c:1035:5:mpu_get_accel_reg 4
../Core/Src/inv_mpu.c:1058:5:mpu_get_temperature 4
../Core/Src/inv_mpu.c:1083:5:mpu_set_accel_bias 8
../Core/Src/inv_mpu.c:1132:5:mpu_reset_fifo 19
../Core/Src/inv_mpu.c:1197:5:mpu_get_gyro_fsr 5
../Core/Src/inv_mpu.c:1225:5:mpu_set_gyro_fsr 10
../Core/Src/inv_mpu.c:1263:5:mpu_get_accel_fsr 6
../Core/Src/inv_mpu.c:1292:5:mpu_set_accel_fsr 8
../Core/Src/inv_mpu.c:1330:5:mpu_get_lpf 7
../Core/Src/inv_mpu.c:1367:5:mpu_set_lpf 9
../Core/Src/inv_mpu.c:1400:5:mpu_get_sample_rate 2
../Core/Src/inv_mpu.c:1415:5:mpu_set_sample_rate 9
../Core/Src/inv_mpu.c:1465:5:mpu_get_compass_sample_rate 1
../Core/Src/inv_mpu.c:1487:5:mpu_set_compass_sample_rate 1
../Core/Src/inv_mpu.c:1509:5:mpu_get_gyro_sens 5
../Core/Src/inv_mpu.c:1536:5:mpu_get_accel_sens 6
../Core/Src/inv_mpu.c:1569:5:mpu_get_fifo_config 1
../Core/Src/inv_mpu.c:1584:5:mpu_configure_fifo 8
../Core/Src/inv_mpu.c:1629:5:mpu_get_power_state 2
../Core/Src/inv_mpu.c:1648:5:mpu_set_sensors 11
../Core/Src/inv_mpu.c:1730:5:mpu_get_int_status 3
../Core/Src/inv_mpu.c:1759:5:mpu_read_fifo 22
../Core/Src/inv_mpu.c:1846:5:mpu_read_fifo_stream 9
../Core/Src/inv_mpu.c:1887:5:mpu_set_bypass 14
../Core/Src/inv_mpu.c:1940:5:mpu_set_int_level 1
../Core/Src/inv_mpu.c:1952:5:mpu_set_int_latched 6
../Core/Src/inv_mpu.c:1973:12:get_accel_prod_shift 5
../Core/Src/inv_mpu.c:2000:12:accel_self_test 6
../Core/Src/inv_mpu.c:2023:12:gyro_self_test 8
../Core/Src/inv_mpu.c:2111:12:get_st_biases 22
../Core/Src/inv_mpu.c:2253:5:mpu_run_self_test 11
../Core/Src/inv_mpu.c:2359:5:mpu_write_mem 6
../Core/Src/inv_mpu.c:2392:5:mpu_read_mem 6
../Core/Src/inv_mpu.c:2424:5:mpu_load_firmware 8
../Core/Src/inv_mpu.c:2466:5:mpu_set_dmp_state 4
../Core/Src/inv_mpu.c:2508:5:mpu_get_dmp_state 1
../Core/Src/inv_mpu.c:2515:5:setup_compass 1
../Core/Src/inv_mpu.c:2628:5:mpu_get_compass_reg 1
../Core/Src/inv_mpu.c:2681:5:mpu_get_compass_fsr 1
../Core/Src/inv_mpu.c:2735:5:mpu_lp_motion_interrupt 19
../Core/Src/inv_mpu.c:2974:9:run_self_test 2
../Core/Src/inv_mpu.c:3003:16:inv_orientation_matrix_to_scalar 1
../Core/Src/inv_mpu.c:3023:16:inv_row_2_scale 7
../Core/Src/inv_mpu.c:3044:6:mget_ms 1
../Core/Src/inv_mpu.c:3050:9:mpu_dmp_init 11
../Core/Src/inv_mpu.c:3096:9:mpu_dmp_get_data 3
No preview for this file type
../Core/Src/inv_mpu_dmp_motion_driver.c:519:5:dmp_load_motion_driver_firmware 1
../Core/Src/inv_mpu_dmp_motion_driver.c:532:5:dmp_set_orientation 8
../Core/Src/inv_mpu_dmp_motion_driver.c:590:5:dmp_set_gyro_bias 6
../Core/Src/inv_mpu_dmp_motion_driver.c:642:5:dmp_set_accel_bias 4
../Core/Src/inv_mpu_dmp_motion_driver.c:694:5:dmp_set_fifo_rate 4
../Core/Src/inv_mpu_dmp_motion_driver.c:720:5:dmp_get_fifo_rate 1
../Core/Src/inv_mpu_dmp_motion_driver.c:732:5:dmp_set_tap_thresh 16
../Core/Src/inv_mpu_dmp_motion_driver.c:802:5:dmp_set_tap_axes 4
../Core/Src/inv_mpu_dmp_motion_driver.c:820:5:dmp_set_tap_count 3
../Core/Src/inv_mpu_dmp_motion_driver.c:838:5:dmp_set_tap_time 1
../Core/Src/inv_mpu_dmp_motion_driver.c:854:5:dmp_set_tap_time_multi 1
../Core/Src/inv_mpu_dmp_motion_driver.c:872:5:dmp_set_shake_reject_thresh 1
../Core/Src/inv_mpu_dmp_motion_driver.c:891:5:dmp_set_shake_reject_time 1
../Core/Src/inv_mpu_dmp_motion_driver.c:909:5:dmp_set_shake_reject_timeout 1
../Core/Src/inv_mpu_dmp_motion_driver.c:924:5:dmp_get_pedometer_step_count 3
../Core/Src/inv_mpu_dmp_motion_driver.c:945:5:dmp_set_pedometer_step_count 1
../Core/Src/inv_mpu_dmp_motion_driver.c:961:5:dmp_get_pedometer_walk_time 3
../Core/Src/inv_mpu_dmp_motion_driver.c:982:5:dmp_set_pedometer_walk_time 1
../Core/Src/inv_mpu_dmp_motion_driver.c:1012:5:dmp_enable_feature 15
../Core/Src/inv_mpu_dmp_motion_driver.c:1149:5:dmp_get_enabled_features 1
../Core/Src/inv_mpu_dmp_motion_driver.c:1164:5:dmp_enable_gyro_cal 2
../Core/Src/inv_mpu_dmp_motion_driver.c:1185:5:dmp_enable_lp_quat 2
../Core/Src/inv_mpu_dmp_motion_driver.c:1210:5:dmp_enable_6x_lp_quat 2
../Core/Src/inv_mpu_dmp_motion_driver.c:1233:12:decode_gesture 5
../Core/Src/inv_mpu_dmp_motion_driver.c:1267:5:dmp_set_interrupt_mode 3
../Core/Src/inv_mpu_dmp_motion_driver.c:1307:5:dmp_read_fifo 8
../Core/Src/inv_mpu_dmp_motion_driver.c:1404:5:dmp_register_tap_cb 1
../Core/Src/inv_mpu_dmp_motion_driver.c:1415:5:dmp_register_android_orient_cb 1
../Core/Src/main.c:65:1:__io_putchar 1
../Core/Src/main.c:76:5:main 1
../Core/Src/main.c:154:6:SystemClock_Config 3
../Core/Src/main.c:197:6:Error_Handler 1
No preview for this file type
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment