币-安 BA 现货种类 symbol 获取,并过滤掉已经停止的种类 附python代码

统计得到,BA 现有活跃状态的现货种类 1281 个交易对。

代码的作用是连接到币安交易所的API,获取交易所信息,并将这些信息以JSON格式保存到`log.json`文件中。然后,它遍历所有交易对,打印出那些状态不是中断的交易对名称。

 `client = Client()`:
   创建`Client`类的实例,这个实例将用于调用币安API。

 `response = client.exchange_info()`:
   调用`exchange_info`方法从币安API获取交易所信息,并将返回的数据存储在变量`response`中。交易所信息通常包括交易对列表、交易费用、交易规则等。

 接下来的代码块使用`with`语句来打开一个名为`log.json`的文件,准备写入数据:
   - `with open('log.json', 'w') as f:`:以写入模式打开文件`log.json`,如果文件不存在则创建它。`with`语句确保文件在操作完成后正确关闭。
   - `json.dump(response, f, indent=4,)`:将`response`变量(一个字典)转换成JSON格式,并写入到文件`log.json`中。`indent=4`参数指定了JSON数据的缩进级别,使得输出的JSON数据更易读。

 `for

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是使用STM32通过I2C协议获取MS5837-30BA水深传感器数据的C代码示例: 首先,需要包含STM32 HAL库和I2C驱动库的头文件: ``` #include "stm32f1xx_hal.h" #include "stm32f1xx_hal_i2c.h" ``` 然后,定义I2C接口的相关参数,包括通道号、地址、时钟速度等: ``` #define I2C_CHANNEL I2C1 #define I2C_ADDRESS 0xEC #define I2C_SPEED 100000 ``` 接下来,初始化I2C接口,需要使用HAL库提供的函数来完成: ``` void I2C_Init(void) { I2C_HandleTypeDef hi2c; hi2c.Instance = I2C_CHANNEL; hi2c.Init.ClockSpeed = I2C_SPEED; hi2c.Init.DutyCycle = I2C_DUTYCYCLE_2; hi2c.Init.OwnAddress1 = 0; hi2c.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; hi2c.Init.DualAddressMode = I2C_DUALADDRESS_DISABLED; hi2c.Init.OwnAddress2 = 0; hi2c.Init.GeneralCallMode = I2C_GENERALCALL_DISABLED; hi2c.Init.NoStretchMode = I2C_NOSTRETCH_DISABLED; if (HAL_I2C_Init(&hi2c) != HAL_OK) { //初始化失败 } } ``` 接着,定义获取MS5837-30BA数据的函数,该函数的实现需要按照I2C协议的规范进行操作,具体细节可以参考MS5837-30BA数据手册: ``` uint8_t MS5837_Read_Reg(uint8_t reg) { uint8_t data; HAL_I2C_Master_Transmit(&hi2c1, I2C_ADDRESS, &reg, 1, 1000); HAL_I2C_Master_Receive(&hi2c1, I2C_ADDRESS, &data, 1, 1000); return data; } void MS5837_Write_Reg(uint8_t reg, uint8_t value) { uint8_t data[2]; data[0] = reg; data[1] = value; HAL_I2C_Master_Transmit(&hi2c1, I2C_ADDRESS, data, 2, 1000); } void MS5837_Read_Prom(void) { uint8_t rx_buf[2]; for (uint8_t i = 0; i < 8; i++) { uint8_t cmd = 0b10100000 | (i << 1); HAL_I2C_Master_Transmit(&hi2c1, I2C_ADDRESS, &cmd, 1, 1000); HAL_I2C_Master_Receive(&hi2c1, I2C_ADDRESS, rx_buf, 2, 1000); //解析PROM数据 } } void MS5837_Read_Data(void) { uint8_t cmd; //读取温度 cmd = 0b11100000; HAL_I2C_Master_Transmit(&hi2c1, I2C_ADDRESS, &cmd, 1, 1000); HAL_Delay(20); //等待转换完成 uint32_t D2 = MS5837_Read_Reg(0x00) << 16; D2 |= MS5837_Read_Reg(0x01) << 8; D2 |= MS5837_Read_Reg(0x02); //读取压力 cmd = 0b11110000; HAL_I2C_Master_Transmit(&hi2c1, I2C_ADDRESS, &cmd, 1, 1000); HAL_Delay(20); //等待转换完成 uint32_t D1 = MS5837_Read_Reg(0x00) << 16; D1 |= MS5837_Read_Reg(0x01) << 8; D1 |= MS5837_Read_Reg(0x02); //计算深度 // ... } ``` 最后,在主函数中调用上述函数即可获取MS5837-30BA水深传感器的数据: ``` int main(void) { HAL_Init(); I2C_Init(); MS5837_Read_Prom(); while (1) { MS5837_Read_Data(); // ... } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云-激光雷达-Slam-三维牙齿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值